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

unable to install a patched version of GraphicsMagick 1.3.25 on Redhat 6.8

使用 gnu "patch" 成功将补丁应用到 GraphicsMagick 后,我进行了配置、制作、安装,并使用 fpm 创建 rpm,我将其安装在干净的 VM 上,但出现错误:

$通用版本 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 scp 到另一个干净的 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)

如果您在 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 行

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