Встановіть останній ImageMagick на CentOS 6.3


13

Мені страшний час намагається отримати останню версію ImageMagick, встановлену на сервері CentOS 6.3 x86_64. Спочатку я завантажив RPM з сайту ImageMagick і спробував його встановити. Це не вдалося через відсутність залежностей:

error: Failed dependencies:
    libHalf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libIex.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libIlmImf.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libImath.so.4()(64bit) is needed by ImageMagick-6.8.0-4.x86_64
    libltdl.so.3()(64bit) is needed by ImageMagick-6.8.0-4.x86_64

Я libtool-ltdlвстановив, але це включає libltdl.so.7, не libltdl.so.4. У мене аналогічна проблема з libHalf, libIex, libIlmImfі libImath. Зазвичай ви можете встановити OpenEXR, щоб отримати ці залежності. На жаль, CentOS 6.3 включає OpenEXR 1.6.1, який включає ilmbase-devel 1.0.1. І цей випуск ilmbase-devel включає новіші версії цих залежностей:

  • libHalf.so.6
  • libIex.so.6
  • libIlmImf.so.6
  • libImath.so.6

Далі я спробував дотримуватися інструкцій із встановлення ImageMagick з джерела. Не пощастило і там. Я отримую помилку збірки:

RPM build errors:
  File not found by glob: /home/sean/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64/usr/lib64/ImageMagick-6.8.0/modules-Q16/coders/djvu.*

Я навіть перебіг, configureщоб явно виключити djvu, і я все одно отримую ту саму помилку. У цей момент я витягаю волосся.

Який найпростіший спосіб отримати відносно недавню версію ImageMagick (> 6.7), встановлену на CentOS 6.3? Хтось пропонує десь RPM із залежностями ?


У мене теж були проблеми з цим, не впевнений, чи коли-небудь я
змушу

У CentOS 6.3, libtool-ltdl-develвключає libltdl.so.7, але ImageMagick вимагає libltdl.so.3. :(
organicveggie

Цікаво, чи вони досить схожі, щоб ви могли створювати посилання від .3 до .7 та підробляти ImageMagick, щоб він встановився. загальний хід
хоку,

Відповіді:


12

У вас не повинно виникнути цих проблем ... Я намагався шукати хороші, консервовані бінарні файли поточної версії ImageMagick . Я не міг знайти жодної, яка б не мала дивних передумов ...

Тож я запустив віртуальну машину CentOS 6.3 і створив найновіший файл SRPM ImageMagick . Ви також можете включити сховище RepoForge (раніше RPMForge) . Збірка пройшла без сучка!

Інформація про систему:

[root@MDMarra ~]# uname -a
Linux MDMarra.localdomain 2.6.32-279.11.1.el6.x86_64 #1 SMP Tue Oct 16 15:57:10 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

[root@MDMarra ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

[root@MDMarra ~]# yum repolist
repo id                                       repo name                                                     status
base                                          CentOS-6 - Base                                                 6346
extras                                        CentOS-6 - Extras                                                  6
rpmforge                                      Red Hat Enterprise 6 - RPMforge.net - dag                       4453
update                                        CentOS-6 - Updates                                               820

Почніть встановлення:

[root@MDMarra ~]# wget http://imagemagick.mirrorcatalogs.com/linux/SRPMS/ImageMagick-6.8.0-4.src.rpm
[root@MDMarra ~]# yum install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel
[root@MDMarra ~]# rpmbuild --rebuild ImageMagick-6.8.0-4.src.rpm

Ці файли були згенеровані:

Processing files: ImageMagick-debuginfo-6.8.0-4.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/ImageMagick-6.8.0-4.x86_64
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-djvu-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-doc-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-perl-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-6.8.0-4.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-debuginfo-6.8.0-4.x86_64.rpm

Встановіть пакет:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm 

Перевірте встановлені двійкові файли:

[root@MDMarra ~]# rpm -qlp /root/rpmbuild/RPMS/x86_64/ImageMagick-6.8.0-4.x86_64.rpm| grep bin
/usr/bin/animate
/usr/bin/compare
/usr/bin/composite
/usr/bin/conjure
/usr/bin/convert
/usr/bin/display
/usr/bin/identify
/usr/bin/import
/usr/bin/mogrify
/usr/bin/montage
/usr/bin/stream

Перевірте щойно встановлений номер версії пакета:

[root@MDMarra ~]# /usr/bin/convert -version
Version: ImageMagick 6.8.0-4 2012-11-07 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

Насолоджуйтесь !!


Хрммм. Цікаво. Я не встановлював djvulibre-devel, libwmf-devel, jasper-devel або giflib-devel під час спроби відновити RPM. Лемме дай, що постріл.
organicveggie

Список пакетів * -devel, необхідних для побудови RPM, був вказаний у помилці, яку я отримав, коли я спочатку зіткнувся rpmbuildз SRPM. Я також міг просто завантажити отриманий файл ... Але я хотів окреслити кроки, які я вжив.
ewwhite

Дивіться, я помилково дотримувався вказівок, які мені наказали спочатку відновити SRPM. Якось цей крок дозволив мені пропустити перевірки на відсутність RPM під час запуску rpmbuild. Дивно. Установка відсутніх RPM зробила свою справу! Мені вдалося скласти остаточні обороти та встановити їх без сучка. Тестування показало, що двійкові файли працювали чудово. Спасибі!
organicveggie

10
ЧОМУ ВИ МОЄТЬСЯ? Це справді незручно.
MDMarra

4
@MDMarra: Ви збираєтеся одружитися. Будьте вдячні за будь-які дії.
Скотт Пак

5

Оскільки ніхто не згадав про альтернативу "без проблем", я збираюся додати нову відповідь.

Якщо ви не проти використовувати неофіційні сховища, ви можете ввімкнути Remi репо, як описано тут http://blog.famillecollet.com/pages/Config-en . Після цього просто введіть

yum install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64

І ви отримаєте одну з найновіших доступних версій, вже упаковану та з кожною залежністю, правильно вирішеною та керованою yum. Не потрібно нічого перекомпілювати.

Примітка. Це не зовсім в курсі версії, яку ви можете знайти на офіційному веб-сайті, але, схоже, не відстає лише на 1-2 місяці. Наприклад, на момент написання останньої офіційної версії це 6.8.8 (12 січня 2014 р.), А той, який я знайшов у репо-репо, - 6.8.7 (15 грудня 2013 р.).


Або ви можете завантажити з remi repo як разовий зsudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8

1

У мене виникли проблеми з CentOS 7.2 та ImageMagick 6.9.3-9. Після довгих проб і помилок я виявив , що 6.9.3- 8 робіт, у той час як 6.9.3- 9 має залежностей , які не вирішити. На щастя, http://rpm.pbone.net/ знайшов сховище зі старішою версією.

IMAGEMAGICK_VERSION=6.9.3-8
# Be warned, 6.9.3-9 does not work; dependencies fail to resolve
IMAGEMAGICK_LIBS_SHA1=c0919e4ef4b7edc1052ef40eef4cc34f7a86341c
IMAGEMAGICK_SHA1=f99eda483850dd116b08e5527d603be2a47db8c4

curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && sha1sum ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_LIBS_SHA1 \
    && yum install -y ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && rm ImageMagick-libs-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && curl -O ftp://ftp.icm.edu.pl/vol/rzm4/ImageMagick/linux/CentOS/x86_64/ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && sha1sum ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm | grep $IMAGEMAGICK_SHA1 \
    && yum install -y ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm \
    && rm ImageMagick-$IMAGEMAGICK_VERSION.x86_64.rpm

0

Схоже, вам знадобиться наступне або хоча б якесь із наступного:

OpenEXR-devel.i686
OpenEXR-devel.x86_64
OpenEXR-libs.i686
OpenEXR-libs.x86_64

yum install OpenEXR-devel.i686 OpenEXR-libs.i686 OpenEXR-devel.x86_64 OpenEXR-libs.x86_64

Встановлення всіх 4 не повинно спричиняти великого навантаження або збільшення використання дискового простору, але це пакунки, які повертаються, коли я шукав на http://rpm.pbone.net/ "libHalf.so.4" або " libIlmImf.so.4 ', наприклад.


Я оновлю свій пост, щоб уточнити, але я вже пішов цим шляхом. CentOS 6.3 має OpenEXR 1.6.1, який включає новіші версії таких речей libHalf( libHalf.so.6наприклад).
organicveggie

0

Якщо вам також потрібна інстальована версія розробки ImageMagicK, ви можете запустити:

rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm

Цей крок знадобиться, якщо ви плануєте запустити прив'язки ImagicK (PHP). Щоб встановити тип iMagicK:

встановити pecl imagick

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.