ошибка при установке RMagick из gem
-
02-07-2019 - |
Вопрос
Попытка установить драгоценный камень RMagick завершается ошибкой о невозможности найти библиотеки ImageMagick, хотя я уверен, что они установлены.
Соответствующий вывод из 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 ***
И, заглянув в mkmf.log, обнаруживается:
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
Это на Solaris 10 x86 с ImageMagick версии 6.4.3 и RMagick версии 2.6.0
Если мне нужно что-то добавить в LDFLAGS, мне непонятно, что бы это могло быть.Я установил ImageMagick из исходного кода, и он должен быть в обычных местах.т. е.,
# 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/ не содержит ничего интересного, и я не могу найти никаких других файлов, на которые я мог бы указать gem install.
Мы были бы очень признательны за любой совет!!поиск в Google не слишком помог.
Спасибо -
Решение
проблема решена.
RMagick не смог найти ImageMagick, потому что я пренебрег созданием общих объектов (не было установлено файлов .so, как вы можете видеть из "ls" в исходном вопросе).Решение состояло в том, чтобы добавить --with-shared
к моим параметрам настройки.
Однако это вызвало другие проблемы.Наиболее примечательно, make
сбой с сообщениями "undefined symbol" для libiconv.Это было решено путем установки CFLAGS так, чтобы они указывали на libiconv:
export CFLAGS="-liconv"
В конечном счете, моя успешная команда configure была:
./configure --disable-static --with-modules --without-perl --with-quantum-depth=8 --with-bzlib=no --with-libiconv
и после этого, make
, make install
, и gem install rmagick
все работало гладко.
Спасибо,
R
Другие советы
Я столкнулся с этой проблемой на openSUSE 11.4 - после установки целого ряда пакетов оказалось, что libtool был недостающим элементом....
Компоновщик не может найти libMagick в стандартных местах.Может быть, вы установили ImageMagick в нестандартное место, которое вы должны указать через LDFLAGS?