Erro ao instalar RMagick de jóia
-
02-07-2019 - |
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 -
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?