我通过以下方式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(因为它现在可以工作),但通常关心他的行为,因为我在其他场合也以某种方式看到过这种情况发生。
答案1
这两种方法之间的差异至少可能有两个原因:
zypper 负责处理依赖项。因此,如果 ImageMagick 依赖于您没有的动态链接库,它将检索该库,以便 ImageMagick 可以提供与该库相关的功能。在这种情况下,现在 ImageMagick 及其依赖项已安装,您自己编译的可执行文件应该可以正常工作。
zypper(据我所知)不会编译软件包,它只会安装预编译的二进制文件。有一些依赖项仅在编译时才需要,以便能够编译特定功能,通常是库的标头(-dev 或 -devel 软件包)。如果您没有它们,配置可能会省略启用该功能以进行编译,或多或少冗长。要安装这些,正确的命令似乎是:
# zypper in -d imagemagick
答案2
看起来你忘记make clean
在make mrproper
第二个之后configure
使用其他选项了。