Ruby 马克·马吉克赢得';t使用Xcode 4.2安装

Ruby 马克·马吉克赢得';t使用Xcode 4.2安装,ruby,xcode,gcc,imagemagick,rmagick,Ruby,Xcode,Gcc,Imagemagick,Rmagick,我刚买了一台新的MacBookPro,正在尝试设置我的开发环境。 我从应用商店下载了xcode 4.2并安装了它,之后我安装了homebrew和RVM。 ImageMagick、readline、ruby 1.9.3-head都安装得很好,直到我运行了bundle更新,试图安装rmagick 经过长时间的调查,我得出结论,它找不到libgomp 输出来自gem安装rmagickis: $ gem install rmagick Building native extensions. This

我刚买了一台新的MacBookPro,正在尝试设置我的开发环境。 我从应用商店下载了xcode 4.2并安装了它,之后我安装了homebrew和RVM。 ImageMagick、readline、ruby 1.9.3-head都安装得很好,直到我运行了bundle更新,试图安装rmagick

经过长时间的调查,我得出结论,它找不到libgomp

输出来自
gem安装rmagick
is:

$ gem install rmagick
Building native extensions.  This could take a while...
ERROR:  Error installing rmagick:
        ERROR: Failed to build gem native extension.

        /Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/bin/ruby extconf.rb
checking for Ruby version >= 1.8.5... yes
extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config.
checking for clang... yes
checking for Magick-config... yes
checking for ImageMagick version >= 6.4.9... yes
checking for HDRI disabled version of ImageMagick... yes
checking for stdint.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/bin/ruby
/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
这是我的mkmf.log文件:

"clang -o conftest -I/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/include/ruby-1.9.1/x86_64-darwin11.2.0 -I/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/include/ruby-1.9.1/ruby/backward -I/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/include/ruby-1.9.1 -I.  -I/usr/local/Cellar/imagemagick/6.7.1-1/include/ImageMagick  -I/usr/local/Cellar/imagemagick/6.7.1-1/include/ImageMagick -fopenmp conftest.c  -L. -L/Users/dhiemstra/.rvm/rubies/ruby-1.9.3-head/lib  -L/usr/local/Cellar/imagemagick/6.7.1-1/lib -L/usr/X11/lib    -L/usr/local/Cellar/imagemagick/6.7.1-1/lib -lMagickCore -llcms -ltiff -lfreetype -ljpeg -L/usr/X11/lib -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl  -lruby.1.9.1  -lpthread -ldl -lobjc "
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main() {return 0;}
/* end */
现在我假设xcode有问题,我尝试了几种方法:

  • 重新安装xcode
  • 删除imagemagick并重新安装它,包括jpg、libpng等其他库
  • 已安装旧版本的imagemagick
  • 已删除.rvm并重新安装了ruby的新副本

我不知道还有什么需要我去尝试,有谁能帮我朝着好的方向努力吗?

我试图下载并安装4.1 for lion,但它甚至没有安装(没有正确的错误消息)。 现在,一位同事给了我一个指向GCC for Mac的链接,这个链接很有魅力:

如果您运行的是>10.7.0,请不要忘记下载v2。我尝试了您的解决方案(充满希望),但不幸的是,它对我无效。 最后,我在没有openmp支持的情况下重新安装了imagemagick(这是负责lgomp的库),从而使它能够正常工作

使用自制软件:

brew install imagemagick --disable-openmp

然后,rmagick就可以顺利安装。

对于希望安装源代码的用户,您可以下载源代码存储库并在imagemagick源代码目录中发出此命令

/配置--禁用openmp


它的工作原理与上面的brew版本类似,但需要编译源代码。

我在使用Macports时遇到了这个问题,但没有指南,因此我将在此处添加一个指南:

  • 卸载ImageMagick:'sudo port uninstall ImageMagick'//和所有依赖项
  • 从下载Portfile-ImageMagick.diff
  • 下文(抄录如下): 'cd$(端口目录ImageMagick)' '补丁-p0<(下载的补丁文件)'
  • “sudo端口安装ImageMagick+无openmp”

  • 你是一个救命恩人,在github上把它添加到OpenRmagick票证中,这部分起作用了,但我必须访问它才能真正起作用。我只想指出,这里的问题是Ruby 1.9.3,而不是xcode 4.2。brew的Vanilla imagemagick与xcode 4.2和ruby配合使用效果良好,应将此标记为正确答案。。。谢谢欧莲!