当我通过RVM在OSX Lion上安装Ruby 1.9.3时,如何修复make错误?

时间:2012-06-10 00:13:24

标签: ruby rvm

我一直在尝试在OSX Lion上安装Ruby 1.9.3但仍然遇到make错误

  

Kerrie-Yees-MacBook-Pro:~kerrieyee $ rvm install 1.9.3   从源代码安装Ruby到:/Users/kerrieyee/.rvm/rubies/ruby-1.9.3-p194,这可能需要一段时间,具体取决于你的cpu ...

     

ruby​​-1.9.3-p194 - #fetching

     

ruby​​-1.9.3-p194 - #extracted to /Users/kerrieyee/.rvm/src/ruby-1.9.3-p194(已提取)

     

ruby​​-1.9.3-p194 - #configuring

     

ruby​​-1.9.3-p194 - #compiling

     

运行'make'时出错,请阅读/Users/kerrieyee/.rvm/log/ruby-1.9.3-p194/make.log   运行make时出错。停止安装。

我已经使用命令行工具安装了git 1.7.7.5,osx-gcc4.2,homebrew 0.9和XCode 4.3。我已经尝试安装readline但仍然得到make错误。我对ruby也很新,对终端知之甚少,所以如果需要更多信息,请写下获取信息所需的终端命令。谢谢!

根据建议,我打开了make.log文件

看起来像错误部分的部分读取

readline.c: In function ‘username_completion_proc_call’: readline.c:1499: error: ‘username_completion_function’ undeclared (first use in this function) readline.c:1499: error: (Each undeclared identifier is reported only once readline.c:1499: error: for each function it appears in.) make[2]: *** [readline.o] Error 1 make[1]: *** [ext/readline/all] Error 2 make: *** [build-ext] Error 2

注意到该错误与readline有关,我查阅了有关readline的其他问题并遵循了RVM指令。

我输入了rvm pkg install readlinervm reinstall 1.9.3 --with-readline-dir=$rvm_path/usr

仍有错误:

Error running 'make ', please read /Users/kerrieyee/.rvm/log/ruby-1.9.3-p194/make.log There has been an error while running make. Halting the installation.

,make.log文件显示为:

ld: in /usr/local/lib/libxml2.2.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64) for architecture x86_64 collect2: ld returned 1 exit status make[2]: *** [../../.ext/x86_64-darwin11.4.0/tcltklib.bundle] Error 1 make[1]: *** [ext/tk/all] Error 2 make: *** [build-ext] Error 2

我还跑啤酒医生:

  

Kerrie-Yees-MacBook-Pro:~kerrieyee $ brew医生

     

错误:在/ usr / local / lib中找到了未提交的dylib。   如果你没有故意将它们放在那里,那么它们可能会导致问题   构建Homebrew公式,可能需要删除。

     

意外的dylib:      /usr/local/lib/libexslt.0.dylib /usr/local/lib/libexslt.dylib /usr/local/lib/libhistory.6.0.dylib /usr/local/lib/libhistory.6.dylib / usr / local /lib/libhistory.dylib /usr/local/lib/libreadline.6.0.dylib /usr/local/lib/libreadline.6.dylib /usr/local/lib/libreadline.dylib /usr/local/lib/libruby.1.8 .7.dylib /usr/local/lib/libruby.1.8.dylib /usr/local/lib/libruby.dylib /usr/local/lib/libsqlite3.0.8.6.dylib /usr/local/lib/libsqlite3.0 .dylib /usr/local/lib/libsqlite3.dylib /usr/local/lib/libxml2.2.dylib /usr/local/lib/libxml2.dylib /usr/local/lib/libxslt.1.dylib / usr / local /lib/libxslt.dylib

     

错误:在/ usr / local / lib中找到了未编译的.la文件。   如果你没有故意将它们放在那里,那么它们可能会导致问题   构建Homebrew公式,可能需要删除。

     

意外的.la文件:      /usr/local/lib/libexslt.la /usr/local/lib/libsqlite3.la /usr/local/lib/libxml2.la /usr/local/lib/libxslt.la

     

错误:在/ usr / local / lib / pkgconfig中找到了未提交的.pc文件。   如果你没有故意将它们放在那里,那么它们可能会导致问题   构建Homebrew公式,可能需要删除。

     

意外的.pc文件:      /usr/local/lib/pkgconfig/libexslt.pc /usr/local/lib/pkgconfig/libxml-2.0.pc /usr/local/lib/pkgconfig/libxslt.pc /usr/local/lib/pkgconfig/sqlite3.pc

     

错误:在/ usr / local / lib中找到了未提取的静态库。   如果你没有故意将它们放在那里,那么它们可能会导致问题   构建Homebrew公式,可能需要删除。

     

意外的静态库:      /usr/local/lib/libexslt.a /usr/local/lib/libhistory.a /usr/local/lib/libreadline.a /usr/local/lib/libruby-static.a / usr / local / lib / libsqlite3 .a /usr/local/lib/libxml2.a /usr/local/lib/libxslt.a

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,运行以下内容解决了这个问题:

  

brew更新

     

brew tap homebrew / dupes

     

brew install apple-gcc42

     

curl -L https://get.rvm.io | bash -s stable --ruby

答案 1 :(得分:0)

我不能确定这会解决您的具体问题,但我写的这篇教程已经帮助了很多人:http://moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/