无法在 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 行
然后对所有这些图像库依赖项再次执行此操作。
使用 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 行
然后对所有这些图像库依赖项再次执行此操作。