У меня ужасные времена, пытаясь установить последнюю версию 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 с зависимостями где-то?
У вас не должно быть этих проблем ... Я попытался найти красивые консервированные двоичные файлы текущей версии 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
Наслаждаться!!
Поскольку никто не упомянул «беспроблемную» альтернативу, я собираюсь добавить новый ответ.
Если вы не против использования неофициальных репозиториев, вы можете включить репозиторий 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 г.), а в репозитории remi я нашел 6.8.7 (15 декабря 2013 г.).
У меня была эта проблема с 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
Похоже, вам понадобится следующее или хотя бы что-то из следующего:
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.
Если вам нужна также установленная версия ImageMagicK для разработки, вы можете запустить:
rpm -ivh /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.8.0-4.x86_64.rpm
Этот шаг потребуется, если вы планируете запускать привязки ImagicK (PHP). Чтобы установить iMagicK, введите:
pecl установить Imagick