Instale ImageMagick reciente en CentOS 6.3

13

Me está costando mucho tratar de instalar una versión reciente de ImageMagick en un servidor CentOS 6.3 x86_64. Primero, descargué el RPM del sitio ImageMagick e intenté instalarlo. Eso falló debido a la falta de dependencias:

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

He libtool-ltdlinstalado, pero eso incluye libltdl.so.7, no libltdl.so.4. Tengo un problema similar con libHalf, libIex, libIlmImfy libImath. Por lo general, puede instalar OpenEXR para obtener esas dependencias. Desafortunadamente, CentOS 6.3 incluye OpenEXR 1.6.1, que incluye ilmbase-devel 1.0.1. Y esa versión de ilmbase-devel incluye versiones más nuevas de esas dependencias:

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

Luego intenté seguir las instrucciones para instalar ImageMagick desde la fuente. No hubo suerte allí tampoco. Me sale un error de compilación:

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

Incluso volví a ejecutar configurepara excluir explícitamente djvu y sigo teniendo el mismo error. En este punto, me estoy sacando el pelo.

¿Cuál es la forma más fácil de instalar una versión relativamente reciente de ImageMagick (> 6.7) en CentOS 6.3? ¿Alguien ofrece RPM con dependencias en alguna parte?

verduras orgánicas
fuente
También tuve problemas con esto, no estoy seguro si alguna vez lo hice funcionar, pero podría intentar: 'yum install libtool-ltdl-devel'
user16081-JoeT
En CentOS 6.3, libtool-ltdl-develincluye libltdl.so.7, pero requiere ImageMagick libltdl.so.3. :(
organicveggie
Me pregunto si son lo suficientemente similares como para crear enlaces simbólicos de .3 a .7 y falsificar ImageMagick para que se instale. movimiento total de pirateo, pero podría funcionar: \
user16081-JoeT

Respuestas:

12

No deberías tener estos problemas ... Traté de buscar binarios enlatados de una versión actual de ImageMagick . No pude encontrar ninguno que no tuviera requisitos previos extraños ...

Así que hice girar una máquina virtual CentOS 6.3 y construí el archivo más reciente de ImageMagick SRPM . Es posible que también desee habilitar el repositorio RepoForge (anteriormente RPMForge) . La construcción fue sin problemas!

Información del sistema:

[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

Comience la instalación:

[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

Estos archivos fueron generados:

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

Instala el paquete:

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

Verifique los binarios instalados:

[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

Verifique el número de versión del paquete recién instalado:

[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    

¡¡Disfrutar!!

ewwhite
fuente
Hmmmm. Interesante. No instalé djvulibre-devel, libwmf-devel, jasper-devel o giflib-devel al intentar reconstruir el RPM. Déjame intentarlo.
organicveggie
La lista de paquetes * -devel necesarios para construir el RPM se enumeró en el error que recibí cuando ejecuté inicialmente rpmbuildel SRPM. También podría subir el archivo resultante ... Pero quería resumir los pasos que tomé.
ewwhite
Mira, seguí por error las instrucciones que me dijeron que reconstruyera el SRPM primero. De alguna manera, ese paso me permitió saltear las comprobaciones de RPM faltantes cuando se ejecuta rpmbuild. Extraño. ¡Instalar los RPM faltantes hizo el truco! Pude construir los RPM finales e instalarlos sin problemas. Las pruebas mostraron que los binarios funcionaron perfectamente. ¡Gracias!
organicveggie
10
¿POR QUÉ ME ENTRASTE? Esto es realmente incómodo.
MDMarra
44
@MDMarra: Estás a punto de casarte. Agradece cualquier acción.
Scott Pack
5

Como nadie mencionó una alternativa "sin problemas", voy a agregar una nueva respuesta.

Si no le importa usar repositorios no oficiales, puede habilitar el repositorio Remi como se describe aquí http://blog.famillecollet.com/pages/Config-en . Después de eso, solo escribe

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

Y obtendrá una de las últimas versiones disponibles, ya empaquetadas y con cada dependencia resuelta y manejada correctamente por yum. No es necesario recompilar nada.

Nota: No está exactamente actualizado con la versión que puede encontrar en el sitio web oficial, pero parece que no tiene más de 1-2 meses de retraso. Por ejemplo, en el momento de escribir esto, la última versión oficial es 6.8.8 (12 de enero de 2014), mientras que la que encontré en el remi repo es 6.8.7 (15 de diciembre de 2013).

Andrea Sprega
fuente
O puede descargarlo desde remi repo como una sola vez consudo yum --enablerepo=remi install ImageMagick-last.x86_64 ImageMagick-last-devel.x86_64
user56reinstatemonica8
1

Tuve este problema con CentOS 7.2 e ImageMagick 6.9.3-9. Después de mucho ensayo y error descubrí que 6.9.3- 8 obras, mientras que 6.9.3- 9 tiene dependencias que no pueden resolver. Afortunadamente, http://rpm.pbone.net/ encontró un repositorio con la versión anterior.

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
fuente
0

Parece que necesitará lo siguiente o al menos algo de lo siguiente:

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

La instalación de los 4 no debería causar una gran carga o un aumento en el uso del espacio en disco, pero esos son los paquetes que se devuelven cuando busqué en http://rpm.pbone.net/ 'libHalf.so.4' o ' libIlmImf.so.4 'por ejemplo.

bmurtagh
fuente
Actualizaré mi publicación para aclarar, pero ya seguí ese camino. CentOS 6.3 tiene OpenEXR 1.6.1, que incluye versiones más nuevas de cosas como libHalf( libHalf.so.6por ejemplo).
organicveggie
0

Si también necesita la versión de desarrollo de ImageMagicK instalada, puede ejecutar:

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

Este paso será necesario si planea ejecutar los enlaces ImagicK (PHP). Para instalar el tipo iMagicK:

pecl instalar imagick

John B
fuente