Установите последнюю версию 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 с зависимостями где-нибудь?

organicveggie
источник
У меня тоже были проблемы с этим, не уверен, что когда-нибудь получу, но вы можете попробовать: 'yum install libtool-ltdl-devel'
user16081-JoeT
В CentOS 6.3 libtool-ltdl-develвходит libltdl.so.7, но требуется ImageMagick libltdl.so.3. :(
Organicveggie
Интересно, достаточно ли они похожи, чтобы вы могли создать символические ссылки от .3 до .7 и подделать ImageMagick, чтобы он установился. всего взломать ход, но это может сработать: \
user16081-JoeT

Ответы:

12

У вас не должно быть этих проблем ... Я пытался найти хорошие, консервированные двоичные файлы текущей версии ImageMagick . Я не мог найти ни одного, у которого не было странных предпосылок ...

Поэтому я развернул виртуальную машину CentOS 6.3 и создал новейший файл ImageMagick SRPM . Вы также можете включить репозиторий 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    

Наслаждаться!!

ewwhite
источник
Hrmmm. Интересный. Я не устанавливал djvulibre-devel, libwmf-devel, jasper-devel или giflib-devel при попытке перестроить RPM. Дай мне шанс.
Organicveggie
Список пакетов * -devel, необходимых для сборки RPM, был указан в сообщении об ошибке, которую я получил при rpmbuildпервом запуске SRPM. Я мог также просто загрузить полученный файл ... Но я хотел обрисовать в общих чертах шаги, которые я сделал.
2012 года
Видите, я по ошибке следовал инструкциям, которые сказали мне сначала перестроить SRPM. Каким-то образом этот шаг позволил мне пропустить проверки на отсутствие RPM при запуске rpmbuild. Weird. Установка недостающих RPM сделала свое дело! Я смог собрать окончательные 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 г.).

Андреа Спрега
источник
Или вы можете скачать из реми репо как одноразовый с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 'например.

bmurtagh
источник
Я уточню свой пост, чтобы уточнить, но я уже пошел по этому пути. 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

Джон Б
источник