erreur lors de l'installation de RMagick à partir de gem
-
02-07-2019 - |
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 -
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?