【问题标题】:error installing RMagick from gem从 gem 安装 RMagick 时出错
【发布时间】:2008-09-25 02:35:10
【问题描述】:

尝试安装 RMagick gem 失败,出现关于无法找到 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

这是在带有 ImageMagick 6.4.3 版和 RMagick 2.6.0 版的 Solaris 10 x86 上

如果我需要向 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 指向的文件。

任何建议将不胜感激! 谷歌搜索并没有太大帮助。

谢谢-

【问题讨论】:

    标签: ruby solaris imagemagick gem rmagick


    【解决方案1】:

    问题解决了。

    RMagick 无法找到 ImageMagick,因为我忽略了构建共享对象(从原始问题中的“ls”可以看出,没有安装 .so 文件)。解决方案是将--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
    

    之后,makemake installgem install rmagick 都运行顺利。

    谢谢,

    R

    【讨论】:

      【解决方案2】:

      我在 OpenSuSE 11.4 上遇到了这个问题 - 在安装了一大堆包后,发现 libtool 是缺少的元素....

      【讨论】:

        【解决方案3】:

        链接器在标准位置找不到 libMagick。也许您将 ImageMagick 安装在必须通过 LDFLAGS 指定的非标准位置?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-05-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-21
          • 1970-01-01
          • 1970-01-01
          • 2013-05-22
          相关资源
          最近更新 更多