не удалось установить исправленную версию GraphicsMagick 1.3.25 на Redhat 6.8

После успешного применения патча к GraphicsMagick с помощью gnu «patch» я делаю configure, make, make install и использую fpm для создания rpm, который я устанавливаю на чистую виртуальную машину, но получаю ошибку:

$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 на другую чистую виртуальную машину и установите ее как:

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)

person kamal    schedule 30.03.2017    source источник


Ответы (1)


Если вы построили это на rhel/centos 6, его можно перенести с помощью этого метода на другую коробку rhel/centos 6. Ваша проблема, вероятно, заключается в зависимостях, правильном использовании флага '-d' fpm многократно и установке с помощью 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.

Затем сделайте это снова для всех этих зависимостей библиотеки изображений.

person Jon Malachowski    schedule 30.03.2017