errore durante l'installazione di RMagick dalla gemma
-
02-07-2019 - |
Domanda
Tentare di installare la gemma di RMagick non riesce con un errore di non riuscire a trovare le librerie ImageMagick, anche se sono sicuro che siano installate.
L'output pertinente di 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 guardando in mkmf.log rivela:
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
Questo è su Solaris 10 x86 con ImageMagick versione 6.4.3 e RMagick versione 2.6.0
Se devo aggiungere qualcosa a LDFLAGS, non mi è chiaro quale sarebbe. Ho installato ImageMagick dal sorgente e dovrebbe essere nei soliti posti. vale a 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 / non contiene nulla di interessante e non riesco a trovare altri file su cui potrei essere in grado di indicare l'installazione gem.
Qualsiasi consiglio sarebbe molto apprezzato !! googling non è stato di grande aiuto.
grazie -
Soluzione
problema risolto.
RMagick non è stato in grado di trovare ImageMagick perché ho trascurato di creare gli oggetti condivisi (non c'erano file .so installati come puoi vedere dalla domanda "ls" nella domanda originale). La soluzione era aggiungere --with-shared
alle mie opzioni di configurazione.
Ciò tuttavia ha causato altri problemi. In particolare, make
non riesce con " simbolo indefinito " messaggi per libiconv. Ciò è stato risolto impostando CFLAGS in modo che puntasse a libiconv:
export CFLAGS="-liconv"
Alla fine, il mio comando configure riuscito è stato:
./configure --disable-static --with-modules --without-perl --with-quantum-depth=8 --with-bzlib=no --with-libiconv
e successivamente make
, make install
e gem install rmagick
hanno funzionato senza problemi.
grazie,
R
Altri suggerimenti
Ho riscontrato questo problema su OpenSuSE 11.4 - dopo aver installato un intero carico di pacchetti si è scoperto che libtool era l'elemento mancante ....
Il linker non riesce a trovare libMagick nei posti standard. Forse hai installato ImageMagick in un posto non standard che devi specificare tramite LDFLAGS?