无法在Redhat 6.8上安装补丁版的GraphicsMagick 1.3.25

时间:2017-03-30 15:32:04

标签: linux rpm graphicsmagick fpm

使用gnu“patch”将修补程序成功应用到GraphicsMagick后,我执行configure,make,make install,并使用fpm创建rpm,我在一个干净的VM上安装,但收到错误:

$ gm -version gm:加载共享库时出错:libtiff.so.5:无法打开共享对象文件:没有这样的文件或目录

构建步骤:

./configure --prefix=/usr --with-modules=yes --with-png --with-tiff --with-jpeg --with-gslib=/usr/local/share/ghostscript/9.20/lib --enable-shared=no --enable-static=no

make

make DESTDIR=/home/ec2-user/GM/tmp/project/ install

fpm -s dir -t rpm -C tmp/project --name GraphicsMagick --version 1.3.25 --iteration 4 --description "GraphicsMagick 1.3.25 on redhat 6.8" .

然后,将rpm转换为另一个干净的VM并将其安装为:

sudo rpm -ivh GraphicsMagick-1.3.25-4.x86_64.rpm

另外,我是否还需要构建所有必需的库,如tiff,png jpeg?

这也让我想问:GraphicsMagick 1.3.25是否支持libtiff 4.0.7?

$ ldd /usr/bin/gm
    linux-vdso.so.1 =>  (0x00007ffdc5bef000)
    libtiff.so.5 => not found
    libjpeg.so.9 => not found
    libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x0000003b90c00000)
    libz.so.1 => /lib64/libz.so.1 (0x00000033e9000000)
    libm.so.6 => /lib64/libm.so.6 (0x00000033e9400000)
    libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00000035f9400000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00000033e8400000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000033eac00000)
    libc.so.6 => /lib64/libc.so.6 (0x00000033e8000000)
    librt.so.1 => /lib64/librt.so.1 (0x00000033e8c00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00000033e8800000)
    /lib64/ld-linux-x86-64.so.2 (0x00000033e7c00000)

1 个答案:

答案 0 :(得分:1)

如果你在rhel / centos 6上构建它,它可以通过这种方法传输到另一个rhel / centos 6盒子。你的问题可能是依赖,正确地重复使用fpm的'-d'标志,并用yum(而不是rpm)安装。

在构建框中使用rpm -q --whatprovides来回溯并找出rpm为该库提供的内容。例如:

rpm -q --whatprovides /usr/lib64/libxml2.so.2
libxml2-2.7.6-21.el6_8.1.x86_64

所以我知道我应该将-d libxml2添加到我的fpm行

然后再对所有这些图像库依赖项执行此操作。