首頁 > 軟體

Linux系統上編譯好的ImageMagick遷移到另一台機器

2020-06-16 17:20:07

如何把編譯好的工具遷移到另一台機器上去,有時候我們會遇到這樣的問題,怎樣解決庫檔案的依賴問題就需要我們按照出錯提示去解決問題了,我以ImageMagick為例做下講解。

如何編譯安裝ImageMagick環境,參照我的上一篇文章Linux下ImageMagick的安裝和使用,連結:http://www.linuxidc.com/Linux/2017-03/141419.htm

在本文中兩台主機分別用server1和server2標識,server1為安裝編譯好ImageMagick的系統,server2則為未編譯安裝ImageMagick的系統。

首先把server1上編譯好的檔案傳到server2上,下面為server2上已經接收到的檔案

~/sxzhou> ll

total 40

drwxr-xr-x 7 was_wcm was_wcm  4096 Mar  3 10:30 ImageMagick

drwxr-xr-x 8 was_wcm was_wcm  4096 Mar  3 10:30 libpng-1.5.8

執行出錯:

~/sxzhou/ImageMagick/bin> ./convert

./convert: error while loading shared libraries: libMagickCore-7.Q16HDRI.so.2: cannot open shared object file: No such file or directory

可以發現是庫檔案缺失,把缺失的庫檔案拷到server2上就可以了

server1上查詢缺失的庫檔案

# find -name libMagickCore-7.Q16HDRI.so.2

./usr/local/ImageMagick/lib/libMagickCore-7.Q16HDRI.so.2

./home/sxzhouhou/ImageMagick-7.0.5-0/MagickCore/.libs/libMagickCore-7.Q16HDRI.so.2

可以發現除了安裝目錄下/usr/local/下也有庫檔案,拷貝/usr/local/ImageMagick到server2的/usr/local目錄下

再次執行出錯:

/home/was_wcm/sxzhou/ImageMagick/bin # ./convert

./convert: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or director

server1上查詢

# find / -name libpng15.so.15

/usr/local/lib/libpng15.so.15

/home/sxzhouhou/libpng-1.5.8/.libs/libpng15.so.15

server1上png相關的庫檔案

/usr/local/lib # ls libpng

libpng.a  libpng.so  libpng15.la  libpng15.so.15  libpng.la  libpng15.a  libpng15.so libpng15.so.15.8.0  

拷貝server1上png相關的庫檔案到server2的/usr/local/lib/目錄下

再次執行出錯:

/home/was_wcm/sxzhou/ImageMagick/bin # ./convert


IT145.com E-mail:sddin#qq.com