Installer ImageMagick récent sur CentOS 6.3

13

J'ai du mal à essayer d'installer une version récente d'ImageMagick sur un serveur CentOS 6.3 x86_64. Tout d'abord, j'ai téléchargé le RPM à partir du site ImageMagick et j'ai essayé de l'installer. Cela a échoué en raison de dépendances manquantes:

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

J'ai libtool-ltdlinstallé, mais cela inclut libltdl.so.7, non libltdl.so.4. J'ai un problème similaire avec libHalf, libIex, libIlmImfet libImath. En règle générale, vous pouvez installer OpenEXR pour obtenir ces dépendances. Malheureusement, CentOS 6.3 inclut OpenEXR 1.6.1, qui inclut ilmbase-devel 1.0.1. Et cette version d'ilmbase-devel inclut des versions plus récentes de ces dépendances:

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

J'ai ensuite essayé de suivre les instructions pour installer ImageMagick à partir des sources. Pas de chance non plus. Je reçois une erreur de build:

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.*

J'ai même réexécuté configurepour exclure explicitement djvu et j'obtiens toujours la même erreur. À ce stade, j'arrache mes cheveux.

Quelle est la façon la plus simple d'obtenir une version relativement récente d'ImageMagick (> 6.7) installée sur CentOS 6.3? Quelqu'un propose-t-il des RPM avec des dépendances quelque part?

bio veggie
la source
J'ai également eu des problèmes avec cela, je ne sais pas si je l'ai fait fonctionner, mais vous pouvez essayer: 'yum install libtool-ltdl-devel'
user16081-JoeT
Dans CentOS 6.3, libtool-ltdl-develinclut libltdl.so.7, mais ImageMagick l'exige libltdl.so.3. :(
organicveggie
Je me demande s'ils sont suffisamment similaires pour que vous puissiez créer des liens symboliques de 0,3 à 0,7 et simuler ImageMagick pour qu'il s'installe. mouvement de hack total mais cela pourrait fonctionner: \
user16081-JoeT

Réponses:

12

Vous ne devriez pas avoir ces problèmes ... J'ai essayé de rechercher de jolis binaires en conserve d'une version actuelle d' ImageMagick . Je n'ai pu trouver aucun qui n'avait pas de prérequis étranges ...

J'ai donc fait tourner une machine virtuelle CentOS 6.3 et créé le dernier fichier ImagePMagick SRPM . Vous pouvez également activer le référentiel RepoForge (anciennement RPMForge) . La construction s'est déroulée sans accroc!

Informations système:

[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

Commencez l'installation:

[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

Ces fichiers ont été générés:

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

Installez le package:

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

Vérifiez les fichiers binaires installés:

[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

Vérifiez le numéro de version du package nouvellement installé:

[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    

Prendre plaisir!!

ewwhite
la source
Hrmmm. Intéressant. Je n'ai pas installé djvulibre-devel, libwmf-devel, jasper-devel ou giflib-devel lors de la tentative de reconstruction du RPM. Laisse-moi essayer.
Organicveggie
La liste des packages * -devel nécessaires pour créer le RPM figurait dans l'erreur que j'ai reçue lors de ma première rpmbuildexécution contre le SRPM. Je pouvais également télécharger le fichier résultant ... Mais je voulais décrire les étapes que j'ai prises.
ewwhite
Vous voyez, j'ai suivi par erreur les instructions qui m'ont dit de reconstruire le SRPM en premier. D'une certaine manière, cette étape m'a permis d'ignorer les vérifications des RPM manquants lors de l'exécution rpmbuild. Bizarre. L'installation des RPM manquants a fait l'affaire! J'ai pu construire les RPM finaux et les installer sans accroc. Les tests ont montré que les binaires fonctionnaient parfaitement. Merci!
Organicveggie
10
POURQUOI ÊTES-VOUS ENCOURAGÉ EN MOI? C'est vraiment gênant.
MDMarra
4
@MDMarra: Vous êtes sur le point de vous marier. Soyez reconnaissant pour toute action.
Scott Pack
5

Puisque personne n'a mentionné une alternative "sans tracas", je vais ajouter une nouvelle réponse.

Si cela ne vous dérange pas d'utiliser des référentiels non officiels, vous pouvez activer le dépôt Remi comme décrit ici http://blog.famillecollet.com/pages/Config-en . Après cela, tapez simplement

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

Et vous obtiendrez l'une des dernières versions disponibles, déjà packagée et avec chaque dépendance correctement résolue et gérée par yum. Pas besoin de recompiler quoi que ce soit.

Remarque: Ce n'est pas exactement à jour avec la version que vous pouvez trouver sur le site officiel, mais il ne semble pas y avoir plus de 1-2 mois de retard. Par exemple, au moment d'écrire ces lignes, la dernière version officielle est la 6.8.8 (12 janvier 2014) tandis que celle que j'ai trouvée sur le repo remi est la 6.8.7 (15 décembre 2013).

Andrea Sprega
la source
Ou vous pouvez télécharger à partir de remi repo en une seule fois avecsudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8
1

J'ai eu ce problème avec CentOS 7.2 et ImageMagick 6.9.3-9. Après beaucoup d'essais et d'erreurs, j'ai découvert que 6.9.3- 8 fonctionne, tandis que 6.9.3- 9 a des dépendances qui ne parviennent pas à résoudre. Heureusement, http://rpm.pbone.net/ a trouvé un référentiel avec l'ancienne version.

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
Geoffrey Booth
la source
0

Il semble que vous aurez besoin des éléments suivants ou au moins de certains des éléments suivants:

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

L'installation de tous les 4 ne devrait pas causer autant de charge ou d'augmentation de l'utilisation de l'espace disque, mais ce sont les paquets retournés lorsque j'ai recherché sur « http://rpm.pbone.net/ » «libHalf.so.4» ou « libIlmImf.so.4 'par exemple.

bmurtagh
la source
Je mettrai à jour mon message pour clarifier, mais j'ai déjà emprunté cette voie. CentOS 6.3 a OpenEXR 1.6.1, qui inclut des versions plus récentes de choses comme libHalf( libHalf.so.6par exemple).
Organicveggie
0

Si vous avez également besoin d'installer la version de développement d'ImageMagicK, vous pouvez exécuter:

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

Cette étape sera requise si vous prévoyez d'exécuter les liaisons ImagicK (PHP). Pour installer le type iMagicK:

pecl install imagick

John B
la source