Pregunta

Intentar instalar la gema RMagick falla con un error acerca de no poder encontrar las bibliotecas de ImageMagick, aunque estoy seguro de que están instaladas.

La salida pertinente de gem install rmagick es:

checking for InitializeMagick() in -lMagick... no
checking for InitializeMagick() in -lMagickCore... no
checking for InitializeMagick() in -lMagick++... no
Can't install RMagick 2.6.0. Can't find the ImageMagick library or one of the dependent libraries. Check the mkmf.log file for more detailed information.

*** extconf.rb failed ***

Y mirando en mkmf.log revela:

have_library: checking for InitializeMagick() in -lMagick... -------------------- no

"/usr/local/bin/gcc -o conftest -I.
-I/usr/local/lib/ruby/1.8/i386-solaris2.10 -I. -I/usr/local/include/ImageMagick  -I/usr/local/include/ImageMagick  conftest.c  -L. - L/usr/local/lib -Wl,-R/usr/local/lib -L/usr/local/lib -L/usr/local/lib -R/usr/local/lib -lfreetype -lz -L/usr/local/lib   -L/usr/local/lib -lMagickCore  -lruby-static - lMagick  -ldl -lcrypt -lm   -lc"
ld: fatal: library -lMagick: not found
ld: fatal: File processing errors. No output written to conftest

Esto está en Solaris 10 x86 con ImageMagick versión 6.4.3 y RMagick versión 2.6.0

Si necesito agregar algo a LDFLAGS, no me queda claro qué sería. Instalé ImageMagick desde la fuente y debería estar en los lugares habituales. es decir,

# ls -l  /usr/local/lib/ | grep -i magick                      
drwxr-xr-x  5 root root      512 Sep 24 23:09 ImageMagick-6.4.3/
-rw-r--r--  1 root root 10808764 Sep 25 02:09 libMagickCore.a
-rwxr-xr-x  1 root root     1440 Sep 25 02:09 libMagickCore.la*
-rw-r--r--  1 root root  2327072 Sep 25 02:09 libMagickWand.a
-rwxr-xr-x  1 root root     1472 Sep 25 02:09 libMagickWand.la*

ImageMagick-6.4.3 / no contiene nada interesante y no puedo encontrar ningún otro archivo al que pueda apuntar la instalación de gemas.

¡Cualquier consejo sería muy apreciado! googlear no ha sido demasiado útil.

gracias -

¿Fue útil?

Solución

problema resuelto.

RMagick no pudo encontrar ImageMagick porque me olvidé de construir los objetos compartidos (no había archivos .so instalados como puede ver en "ls" en la pregunta original). La solución fue agregar --with-shared a mis opciones de configuración.

Sin embargo, esto causó otros problemas. En particular, make falla con " símbolo indefinido " mensajes para libiconv. Esto se resolvió configurando CFLAGS para que apunte a libiconv:

export CFLAGS="-liconv"

Finalmente, mi comando de configuración exitoso fue:

./configure --disable-static --with-modules --without-perl  --with-quantum-depth=8  --with-bzlib=no --with-libiconv

y después de eso, make , make install y gem install rmagick funcionaron sin problemas.

gracias,

R

Otros consejos

Me encontré con este problema en OpenSuSE 11.4: después de instalar una carga completa de paquetes, resultó que libtool era el elemento que faltaba ...

El enlazador no puede encontrar libMagick en los lugares estándar. ¿Quizás instaló ImageMagick en un lugar no estándar que debe especificar a través de LDFLAGS?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top