libxml2.2.dylib でエラー「ファイルが必要なアーキテクチャではありません」が発生する
質問
RVM を使用して、Snow Leopard を実行している Mac に Ruby 1.9.2 をインストールしようとしています。
私の .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 インストールの一部だと思います)
解決
さて、ようやく分かりました。
Ruby 1.8.7をインストールしました ルビヨス そして、rvm が Ruby をコンパイルするために使用していた壊れたライブラリがいくつかあるようでした。
解決策は、rubyosx Ruby を削除することです。 /usr/local
.
それほど抜本的ではない解決策は、単に名前を変更することです。 /usr/local
RVM でコンパイル中のフォルダー。その後、名前を元に戻すと、期待どおりに機能します。
今は機能して嬉しいです。
他のヒント
次の2つの異なるアーキテクチャにARCHFLAGSを設定しています。どうして? (私の知る限り、ユキヒョウのデフォルトである)のみ-arch -x86_64
にしてみます。
所属していません StackOverflow