2010-01-20 66 views
4

我試圖使用rvm在運行Snow Leopard的Mac上安裝Ruby 1.9.2。獲取libxml2.2.dylib文件錯誤「文件不是必需的體系結構」

.bash_profile包含

ARCHFLAGS="-arch x86_64" 

安裝Ruby,我跑:

rvm install 1.9.2 -C --enable-shared 

我在編譯過程中出現錯誤。這裏是make.error.log:

[2010-01-20 10:03:00] make 
ld: in /usr/local/lib/libxml2.2.dylib, file is not of required architecture 
collect2: ld returned 1 exit status 
make[1]: *** [../../.ext/i386-darwin10.2.0/tcltklib.bundle] Error 1 
make: *** [mkmain.sh] Error 1 

編輯:

我從源代碼安裝的readline並試圖安裝這樣的:

rvm install 1.9.2 -C --enable-shared,--with-readline-dir=/usr/local 

這就造成了同樣的錯誤之前。

的rcltklib.bundle文件的位置是:

/usr/local/lib/ruby/1.8/i686-darwin9.7.0/tcltklib.bundle 

(我認爲這個文件是Ruby OSX安裝的一部分)

回答

8

現在,我終於明白了。
我確實從ruby​​osx安裝了紅寶石1.8.7,似乎有一些破壞的庫,rvm用於編譯它的紅寶石。

解決方案是從/usr/local中刪除rubyosx紅寶石。

較不激烈的解決方案是在使用rvm進行編譯時只需重命名/usr/local文件夾。之後,您可以將其命名並按預期工作。

很高興現在有效。

+0

如果沒有您對.bash_profile所做的更改,也有同樣的問題......感謝帖子! – codewise 2010-02-10 02:22:33

+0

感謝這篇文章。移動/ usr /本地的方式爲我工作。 – devth 2011-04-30 15:59:46

0

要設置ARCHFLAGS以兩種不同的架構。爲什麼?嘗試只用-arch -x86_64(據我所知,這是雪豹的默認設置)。

+0

感謝您的提示。在某處複製了這一行,但實際上i386似乎沒有必要。 雖然沒有解決問題。 – Jonas 2010-01-20 15:03:34

+0

好的。對我來說,它在雪豹上「起作用」。接下來要確保你擁有所有最新和最好的xCode http://developer.apple.com/tools/xcode/ – hgmnz 2010-01-20 18:29:29

+0

已經做到了。沒有運氣。 – Jonas 2010-01-21 07:24:59

相關問題