ошибка при установке RMagick из драгоценного камня

Попытка установить драгоценный камень 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.

Любые советы будут высоко ценится!! гугление не слишком помогло.

Благодарность -


person rory    schedule 25.09.2008    source источник


Ответы (3)


проблема решена.

RMagick не смог найти ImageMagick, потому что я забыл создать общие объекты (файлы .so не были установлены, как вы можете видеть из «ls» в исходном вопросе). Решение состояло в том, чтобы добавить --with-shared к моим параметрам конфигурации.

Однако это вызвало другие проблемы. В частности, make сбой с сообщениями «неопределенный символ» для libiconv. Это было решено путем установки CFLAGS так, чтобы он указывал на libiconv:

export CFLAGS="-liconv"

В конечном итоге моя успешная команда настройки была такой:

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

и после этого make, make install и gem install rmagick все работало без сбоев.

Благодарность,

R

person rory    schedule 29.09.2008

Я столкнулся с этой проблемой на OpenSuSE 11.4 - после установки целой кучи пакетов оказалось, что libtool был недостающим элементом....

person Sam Critchley    schedule 12.07.2011

Компоновщик не может найти libMagick в стандартных местах. Может быть вы установили ImageMagick не в стандартное место, которое нужно указать через LDFLAGS?

person Vinko Vrsalovic    schedule 25.09.2008