خطأ في تثبيت RMagic من الجوهرة
-
02-07-2019 - |
سؤال
فشلت محاولة تثبيت جوهرة RMagick بسبب خطأ يتعلق بعدم القدرة على العثور على مكتبات ImageMagick، على الرغم من أنني متأكد من تثبيتها.
الإخراج ذو الصلة من تثبيت الجوهرة 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 مع الإصدار 6.4.3 من ImageMagick والإصدار 2.6.0 من RMagick
إذا كنت بحاجة إلى إضافة شيء ما إلى 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/ لا يحتوي على أي شيء مثير للاهتمام ولا يمكنني العثور على أي ملفات أخرى قد أتمكن من الإشارة إلى تثبيت الجوهرة عليها.
أي نصيحة سيكون موضع تقدير كبير!لم يكن البحث عبر Google مفيدًا جدًا.
شكرًا -
المحلول
تم حل المشكلة.
لم يتمكن 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
كل شيء يعمل بسلاسة.
شكرًا،
ر
نصائح أخرى
لقد واجهت هذه المشكلة على OpenSuSE 11.4 - بعد تثبيت مجموعة كاملة من الحزم، تبين أن libtool هو العنصر المفقود....
لا يمكن للرابط العثور على libMagick في الأماكن القياسية.ربما قمت بتثبيت ImageMagick في مكان غير قياسي يتعين عليك تحديده عبر LDFLAGS؟