簡體   English   中英

RVM安裝1.8.7(雪豹)make.log錯誤

[英]rvm install 1.8.7 (snow leopard) make.log error

我正在新的Macbook Pro上用rvm安裝ruby 1.8.7。 我在10.6.8上,並且有xcode 4.0.2。 RVM已啟動。 我可以毫無問題地安裝1.9.2。 但是當我嘗試1.8.7時出現錯誤:

ERROR: Error running 'make ', please read /Users/brentw/.rvm/log/ruby-1.8.7-p352/make.log
ERROR: There has been an error while running make. Halting the installation.

在make.log文件中,最后幾行顯示為:

ld: warning: ignoring file ../../../libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
compiling win32ole
compiling zlib
making ruby
/usr/bin/gcc-4.2 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp  -fno-common -pipe -fno-common    -DRUBY_EXPORT  -L. -arch i386 -arch x86_64 -bind_at_load   main.o  -lruby -lpthread -ldl -lobjc   -o ruby
ld: warning: ignoring file ./libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
  "_ruby_init_stack", referenced from:
      _main in main.o
  "_ruby_init", referenced from:
      _main in main.o
  "_ruby_options", referenced from:
      _main in main.o
  "_ruby_run", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/ay/aypnf68iFrumAawnjs+96FjhQuk/-Tmp-//cc7BuLDX.out (No such file or directory)
make[1]: *** [ruby] Error 1
make: *** [all] Error 2

我一直在各處搜索,嘗試了多種操作,但似乎無法達到1.8.7。 我嘗試了不同的補丁(盡管可能不是全部),而是嘗試安裝ree,安裝了rvm readline,並嘗試了“ rvm install 1.8.7 -C --with-arch = x86_64,--with-readline-dir = $ rvm_path / usr” ... 沒運氣...

就我而言,我最終降級到rvm 1.8.0,並且還使用--with-readline-dir標志安裝ruby 1.8.7。 終於成功了!! 感謝您提供線索。

啊,在這里找到答案: https//rvm.io/os/darwin/

rvm_archflags="-arch i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" rvm install 1.8.7 --patch osx-arch-fix

現在,當我嘗試安裝gems ..時,我遇到了libz問題。

問題是rvm 1.8.2。 您必須回滾到1.8.0,一切都會按預期進行。

rvm get 1.8.0

如果已刪除rvm,請使用以下命令安裝1.8.0:

curl -s https://rvm.beginrescueend.com/install/rvm -o rvm-installer ; chmod +x rvm-installer ; ./rvm-installer --version 1.8.0

如果使用rvm 1.8.0,並且不需要任何標志來安裝它,則不會收到zlib錯誤。

實際上,所有要做的就是讓rvm get head進入1.8.3,通過刪除在構建過程中意外添加的-arch i386來解決該問題。 最重要的是,只需從Homebrew安裝zlib,就可以消除zlib問題

rvm install 1.8.7 --with-zlib-dir=/usr/local/Cellar/zlib/x.x.x

或者,如果您使用rvm作為“ rvm pkg install zlib”來安裝zlib,則可以完成

rvm install 1.8.7 --with-zlib-dir=$rvm_path/usr

我相信我已經更新了網站上的文檔以反映這一點。 如果發現錯誤,請針對https://github.com/rvm/rvm-site/issues/打開問題,我將很樂意修復它。

這不是解決方案,但是這是我有這個時所做的...

我花了很多時間在這個問題上,最終我自己完成了對ruby的編譯和編譯,並在安裝后使用了另一個名為rbenv的 Ruby版本管理器:

使用Home brew install readlinebrew install readline

然后下載最新的ruby版本,例如1.9.2-p290: http ://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz並將其解壓縮到$ HOME / .rbenv中/版本/

然后轉到:

cd $HOME/.rbenv/versions

然后通過執行以下操作來建立紅寶石版本:

./configure --prefix=$HOME/.rbenv/versions/1.9.2-p290  --with-readline-dir=/usr/local/Cellar/readline/6.2.1/
make
sudo make install

不要忘記將當前版本設置為:

rbenv global 1.9.2-p290
rbenv rehash

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM