2008-09-25 24 views
0

Si vous tentez d'installer la gemme RMagick, une erreur se produit lorsque vous ne parvenez pas à trouver les bibliothèques ImageMagick, même si je suis certain qu'elles sont installées.erreur lors de l'installation RMagick from gem

La sortie pertinente de gem install rmagick est:

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

Et regardant dans mkmf.log révèle:

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 

Ceci est sur Solaris 10 x86 avec la version 6.4.3 et la version ImageMagick RMagick 2.6.0

Si j'ai besoin d'ajouter quelque chose à LDFLAGS, ce n'est pas clair pour moi ce que ce serait. J'ai installé ImageMagick de la source et il devrait être dans les endroits habituels. à savoir,

# 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/contient rien d'intéressant et je ne peux pas trouver d'autres fichiers que je pourrais être en mesure de pointer gem install à.

Tout conseil serait très apprécié !! Google n'a pas été trop utile.

grâce -

Répondre

2

problème résolu. RMGick n'a pas pu trouver ImageMagick parce que j'ai négligé de construire les objets partagés (il n'y avait pas de fichiers .so installés comme vous pouvez le voir depuis le "ls" dans la question d'origine). La solution consistait à ajouter --with-shared à mes options de configuration.

Ceci a toutefois causé d'autres problèmes. Plus particulièrement, make échouant avec des messages "symbole non défini" pour libiconv. Cela a été résolu par la mise en CFLAGS pour pointer vers libiconv:

export CFLAGS="-liconv" 

En fin de compte, ma commande réussie de configuration était la suivante:

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

et après cela, make, make install et gem install rmagick tous travaillé en douceur.

grâce,

R

0

L'éditeur de liens ne peut pas trouver libMagick dans les endroits standards. Peut-être avez-vous installé ImageMagick dans un endroit non standard que vous devez spécifier via LDFLAGS?

1

je suis tombé sur ce problème sur openSUSE 11.4 - après l'installation d'une charge de paquets ensemble il est apparu que libtool était l'élément manquant ....