Pergunta

Tentando instalar a gem RMagick está falhando com um erro sobre ser incapaz de encontrar bibliotecas ImageMagick, embora eu tenho certeza que eles estão instalados.

A saída pertinente do gem install rmagick é:

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

E, olhando em 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

Este é no Solaris 10 x86 com ImageMagick versão 6.4.3 e RMagick versão 2.6.0

Se eu precisar adicionar algo a LDFLAGS, não é claro para mim o que isso seria. Eu instalei ImageMagick a partir da fonte e deve ser nos locais habituais. ou seja,

# 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 / contém nada de interessante e eu não consigo encontrar quaisquer outros arquivos que eu poderia ser capaz de ponto gem install a.

Qualquer conselho seria muito apreciado !! googling não tem sido muito útil.

graças -

Foi útil?

Solução

problema resolvido.

RMagick foi incapaz de encontrar ImageMagick porque eu negligenciado para construir os objetos compartilhados (não havia arquivos .so instalado como você pode ver a partir do "ls" na pergunta original). A solução foi adicionar --with-shared aos meus opções do configure.

Este, porém, causaram outros problemas. Mais notavelmente, make falha com mensagens de "símbolo indefinido" para libiconv. Isto foi resolvido, definindo CFLAGS para apontar para libiconv:

export CFLAGS="-liconv"

Em última análise, o meu comando bem sucedido configure foi:

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

e depois disso, make, make install e gem install rmagick tudo funcionou sem problemas.

graças,

R

Outras dicas

Eu corri para este problema no openSUSE 11.4 - depois de instalar toda uma carga de pacotes descobriu-se que libtool foi o elemento que faltava ....

O vinculador não consegue encontrar libMagick nos locais padrão. Talvez você instalou ImageMagick em um local não padrão você tem que especificar via LDFLAGS?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top