找不到imagemagick libMagickCore.so.2

我有两个我们在工作中使用的debian服务器,一个是我们的开发服务器,另一个是我们的产品。 我试图让两个服务器上的imagemagick工作,由于某种原因,生产服务器正在运行imagemagick罚款,但开发服务器似乎并不想。

在我input的两台服务器上

convert --version 

并得到了这个回应

生产:

 Version: ImageMagick 6.6.0-4 2012-04-24 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC Features: OpenMP 

发展:

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

我做了两个服务器的dpkg检查版本,我得到了以下

生产:

 ii imagemagick 8:6.6.0.4-3+squeeze2 image manipulation programs ii libmagickcore3 8:6.6.0.4-3+squeeze2 low-level image manipulation library ii libmagickcore3-extra 8:6.6.0.4-3+squeeze2 low-level image manipulation library - extra codecs ii libmagickwand3 8:6.6.0.4-3+squeeze2 image manipulation library ii php5-imagick 3.0.0~rc1-1 ImageMagick module for php5 

发展:

 ii imagemagick 8:6.6.0.4-3+squeeze2 image manipulation programs ii libmagickcore3 8:6.6.0.4-3+squeeze2 low-level image manipulation library ii libmagickcore3-extra 8:6.6.0.4-3+squeeze2 low-level image manipulation library - extra codecs ii libmagickwand3 8:6.6.0.4-3+squeeze2 image manipulation library ii php5-imagick 3.0.0~rc1-1 ImageMagick module for php5 

我查看了libMagickCore.so.2的所有操作系统,并且找不到它,我在两台服务器上都find了这些文件。

生产:

 lrwxrwxrwx 1 root root 22 May 2 14:32 libMagickCore.so.3 -> libMagickCore.so.3.0.0 -rw-r--r-- 1 root root 2.3M Apr 24 15:44 libMagickCore.so.3.0.0 lrwxrwxrwx 1 root root 22 May 2 14:32 libMagickWand.so.3 -> libMagickWand.so.3.0.0 -rw-r--r-- 1 root root 1.1M Apr 24 15:44 libMagickWand.so.3.0.0 

发展:

 lrwxrwxrwx 1 root root 22 May 2 14:35 libMagickCore.so.2 -> libMagickCore.so.3.0.0 lrwxrwxrwx 1 root root 22 May 2 14:30 libMagickCore.so.3 -> libMagickCore.so.3.0.0 -rw-r--r-- 1 root root 2.3M Apr 24 15:44 libMagickCore.so.3.0.0 lrwxrwxrwx 1 root root 22 May 2 14:30 libMagickWand.so.3 -> libMagickWand.so.3.0.0 -rw-r--r-- 1 root root 1.1M Apr 24 15:44 libMagickWand.so.3.0.0 

我手动添加到libMagickCore.so.2到开发服务器,看看是否会工作,但事实并非如此。

我从开发服务器清除了所有imagemagick,并重新安装它,仍然没有。 我运行ldconfig,它会创build版本3的链接,但不是2.我甚至重新启动机器,在两台机器上进行更新/升级,我只是没有select做什么。 任何人都有我的另一个想法?

太感谢了!

– 编辑 –

运行命令

 which convert 

产生这些输出

生产

 /usr/bin/convert 

发展

 /usr/local/bin/convert 

所以…最终成为我的问题…我从我的开发服务器中删除了/ usr / local / bin中的转换,并在之后工作。

我很高兴你解决了这个问题。 为了帮助其他人在类似的情况下,我会留在这里:

要在本地查找图书馆:

 # updatedb # locate libMagickCore 

从包pipe理器中查找库:

 # apt-file search libMagickCore 

要查找您的图书馆是否可以被系统find(是否在path中)

 # ldconfig -p | grep -i nameoflibrary 

如果您的库不在列表中,但在系统上,则可以添加它:

 # ldconfig -n /path/toyournew/library/ 

将其永久添加到path中:

 # /etc/ld.so.conf.d/libc.conf 

这个应该足以解决这个types的问题,不pipe是图书馆。

我采取了ablackhat的build议,并做which convert这表明我的开发服务器正在寻找转换可执行文件/ usr / local / bin。 我从该目录中删除了可执行文件,然后运行which convert后的文件,结果显示我的服务器正在使用/ usr / bin中的可执行文件。 当我运行convert --versionclosures/ usr / bin /转换一切按照希望工作。