在openSUSE 11.1中,我通过以下方式下载,编译和安装
ImageMagick:
wget ftp://.../pub/graphics/ImageMagick/ImageMagick-6.7.7-0.zip unzip ImageMagick-6.7.7-0.zip cd ImageMagick-6.7.7-0 ./configure --prefix=/usr/local/ImageMagick make make install
在我发现不支持JPG之前,一切都很有效:
identify -list format | grep -i jpg [nothing related to JPG returned]
所以我使用以下方法重新配置和重新编译:
./configure --prefix=/usr/local/ImageMagick --with-jpeg=yes --with-jp2=yes make make install
但这没有任何改变.
我最终卸载:
make uninstall
并通过zypper安装:
zypper install ImageMagick
这个安装的版本6.4.3现在它支持JPG:
identify -list format | grep -i jpg JPG* JPEG rw- Joint Photographic Experts Group JFIF format
对这里发生了什么有什么看法?从源代码编译时,ImageMagick的这种功能不存在的可能原因是什么,但是从rpm安装时是什么?
请注意,我并不一定非常关心ImageMagick(因为它现在有效),但通常关于他的行为,因为我以某种方式看到过这种情况也会发生在其他场合.
解决方法
两种方法之间至少存在两种可能的差异原因:
> zypper负责依赖.因此,如果ImageMagick依赖于您没有的动态链接库,它将检索它,以便ImageMagick可以提供与该库相关的功能.在这种情况下,您自己编译的可执行文件现在应该可以使用ImageMagick及其依赖项.> zypper(AFAIK)不编译包,它只安装一个预编译的二进制文件.只有在编译时才需要能够编译特定功能的依赖项,通常是库的头部(-dev或-devel包).如果您没有它们,则可以省略configure以使用或多或少的详细程度启用编译功能.要安装它们,正确的命令似乎是:#zypper in -d imagemagick