Question

Essayer d'installer la gem RMagick échoue avec une erreur indiquant qu'il est impossible de trouver les bibliothèques ImageMagick, même si je suis sûr qu'elles sont installées.

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

Il s’agit de Solaris 10 x86 avec ImageMagick version 6.4.3 et RMagick version 2.6.0

Si j’ai besoin d’ajouter quelque chose à LDFLAGS, j’ignore ce que ce serait. J'ai installé ImageMagick à partir des sources et il devrait être aux endroits habituels. c'est-à-dire

# 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 / ne contient rien d’intéressant et je ne trouve aucun autre fichier sur lequel je pourrais peut-être pointer gem install.

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

merci -

Était-ce utile?

La solution

problème résolu.

RMagick n’a pas pu trouver ImageMagick car j’ai négligé de créer les objets partagés (aucun fichier .so n’a été installé, comme vous pouvez le constater à l’aide de "ls" dans la question initiale). La solution consistait à ajouter - with-shared à mes options de configuration.

Ceci a cependant causé d’autres problèmes. Plus particulièrement, make en échec avec "symbole non défini". messages pour libiconv. Ce problème a été résolu en configurant CFLAGS pour qu'il pointe vers libiconv:

export CFLAGS="-liconv"

Finalement, ma commande de configuration réussie a été:

./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 ont tous fonctionné sans à-coups.

merci,

R

Autres conseils

J'ai rencontré ce problème sous OpenSuSE 11.4 - après l'installation de tout un paquet de paquetages, il s'est avéré que libtool était l'élément manquant ....

L'éditeur de liens ne trouve pas libMagick aux emplacements standard. Peut-être avez-vous installé ImageMagick dans un endroit non standard que vous devez spécifier via LDFLAGS?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top