
Я уже установил ImageMagick на своем сервере, работающем под управлением CentOS 6.4.
yum установить ImageMagick
Версия очень старая: 6.5.4-7 2012-05-07 Q16
Я обсуждал это с официальным форумом ImageMagick. Они сказали, что я использую старую версию ImageMagick.
С yum нам обычно не нужно беспокоиться о зависимостях. Я создал несколько скриптов, которые используют последнюю версию ImageMagick. Но мой сервер использует более старую версию для поддержки этих скриптов.
1) Итак, если я удалю yum-версию ImageMagick, какие зависимости следует установить перед компиляцией ImageMagick? Скрипты, которые работают правильно, не должны быть затронуты этим обновлением.
2) Сейчас путь /usr/bin/convert. Как мне скомпилировать, сохранив тот же путь?
--prefix="/usr" (верно?)
У меня нет тестового сервера. Поэтому мне нужна ваша помощь. Я пользователь Windows(7)!
решение1
Установить
rpmbuild
:yum install rpmbuild -y
Установите src.rpm из репозитория Fedora:
cd ~/rpmbuild/SPECS
Соберите пакет для вашей платформы (замените
x86_64
наi686
, если вы используетеi686
):rpmbuild --target x86_64 -ba ImageMagick.spec
Если есть какие-либо зависимости - rpmbuild вам об этом сообщит, поэтому установите эти пакеты с помощью
yum install
Попробуйте построить его снова:
rpmbuild --target x86_64 -ba ImageMagick.spec
Результат будет:
Wrote: /root/rpmbuild/SRPMS/ImageMagick-6.7.8.9-5.el6.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-6.7.8.9-5.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-devel-6.7.8.9-5.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-djvu-6.7.8.9-5.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-doc-6.7.8.9-5.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-perl-6.7.8.9-5.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-6.7.8.9-5.el6.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ImageMagick-c++-devel-6.7.8.9-5.el6.x86_64.rpm
Установить собранные пакеты с помощью rpm -Uvh
Я делаю так и у меня пока нет никаких проблем. Если у вас возникнут какие-либо проблемы - будут устаревшие функции или вам нужно будет пересобрать пакеты, которые содержат компоненты, собранные с помощью ImageMagick-devel
, а не ImageMagick.
Ожидаемая конфигурация будет выглядеть следующим образом:
Option Value
-------------------------------------------------------------------------------
Shared libraries --enable-shared=yes yes
Static libraries --enable-static=no no
Module support --with-modules=yes yes
GNU ld --with-gnu-ld=yes yes
Quantum depth --with-quantum-depth=16 16
High Dynamic Range Imagery
--enable-hdri=no no
Delegate Configuration:
BZLIB --with-bzlib=yes yes
Autotrace --with-autotrace=no no
Dejavu fonts --with-dejavu-font-dir=default /usr/share/fonts/dejavu/
DJVU --with-djvu=yes yes
DPS --with-dps=no no
FFTW --with-fftw=yes no
FlashPIX --with-fpx=yes no
FontConfig --with-fontconfig=yes yes
FreeType --with-freetype=yes yes
GhostPCL None pcl6 (unknown)
GhostXPS None gxps (unknown)
Ghostscript None gs (8.70)
Ghostscript fonts --with-gs-font-dir=default /usr/share/fonts/default/Type1/
Ghostscript lib --with-gslib=yes yes
Graphviz --with-gvc=no
JBIG --with-jbig=yes no
JPEG v1 --with-jpeg=yes yes
JPEG-2000 --with-jp2=yes yes
LCMS v1 --with-lcms=yes yes
LCMS v2 --with-lcms2=yes no
LQR --with-lqr=yes no
LZMA --with-lzma=yes no
Magick++ --with-magick-plus-plus=yes yes
OpenEXR --with-openexr=yes yes
PERL --with-perl=yes /usr/bin/perl
PANGO --with-pango=yes yes
PNG --with-png=yes yes
RSVG --with-rsvg=yes yes
TIFF --with-tiff=yes yes
WEBP --with-webp=yes no
Windows fonts --with-windows-font-dir= none
WMF --with-wmf=yes yes
X11 --with-x=yes yes
XML --with-xml=yes yes
ZLIB --with-zlib=yes yes
Итак, все построено по нынешней системе.
Для того же самого (только пересборки) можно запустить rpmbuild --rebuild --target x86_64 ImageMagick-6.7.8.9-5.fc19.src.rpm
- результат будет тем же, если вы не захотите вносить никаких изменений в будущем.
решение2
Я думаюэта темаобъясняет ваши требования. Хотя процедура предназначена для CentOS 6.3, я бы не ожидал серьезных проблем при пересобирании на 6.4.