1

私はLionを使用しており、xcode 4.1をインストールし、rvmバージョンは1.6.31ヘッドです。

これが私がしたことです:

$ rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

iconv dirは、Brewのインストールを指します。

これが出力です

これがmake.logです

make.logの下部にあるエラーは、指定したものの代わりにネイティブのlibiconvを使用しようとしているように見えます。

ld: in /Developer/SDKs/MacOSX10.7.sdk/usr/local/lib/libiconv.2.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64) for architecture x86_64

何か案は?

4

4 に答える 4

2

10.5から10.6にアップグレードするときは、インストールされているすべてのソースビルドライブラリを削除し、32ビットから64ビットへの変換の問題を完全に解決するために最初からやり直す必要がありました。すべてのbrewパッケージを強制的に再構築する必要がある場合があります。

MacPortsでは、/optディレクトリを削除し、そこにある可能性のあるデータベースファイルを最初に回収して、すべてを再インストールします。Brewにも同様の手順があると確信しています。

ライブラリのロードパスを変更して優先度を設定する方法もありますが、MacPortsがこれを処理しているようです。otoolロードされているライブラリの診断に役立ちます。

otool -L `which ruby`
于 2011-07-27T21:42:35.170 に答える
2
  • RVMを削除して、後でよりクリーンにインストールできるようにします。

    $ RVM implode

  • XCodeを削除します。

    $ sudo / Developer / Library / Uninstall-devtools –mode = all

XCodeは削除されました。少なくとも、4.2では、gccへのすべての参照がllvm-gcc(Apple)独自のgccフォークにリンクされているためです。llvmはrubyをコンパイルしません。

(後でいつでもAppStoreから再インストールできます)

これにより、必要最低限​​のGCCコンパイラのみがインストールされます。再インストールする場合は、XCodeで安全に上書きするか、XCodeの削除に使用したのと同じコマンドを使用して簡単に削除できます。

  • RVMを再インストールします:http://beginrescueend.com/rvm/install/

  • リンクからパッケージマネージャー「homebrew」をインストールし、それを使用してlibiconvをインストールします。

    $ brew install libiconv

これにより、homebrewのホームディレクトリ「/ usr / local/cellar」にいくつかのファイルがインストールされます

  • /usr/local/lib/libiconv.2.dylibをバックアップし、/ usr / local / cellar / libiconv / 1.14 / lib/libiconv.2.dylibを/usr/local/libの場所にコピーします

この時点で、RVMを使用してruby1.9.2をインストールするためのすべてが整っているはずです。

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.14.1

(config.logファイルを確認すると、RVMは実際には--with-iconv-dirをサポートしていませんが、いつかはサポートされる可能性があります...その場合、libiconvのコピーは不要になります)

次に、宝石やレールなど、必要なものをすべてインストールします。

于 2011-10-27T14:10:03.690 に答える
0

Rubyはllvmと一緒にインストールされず、gccはllvmにシンボリックリンクされます。簡単な修正は使用することです

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

実際のgccでビルドするように強制します。

于 2011-07-28T03:18:47.047 に答える
0

これは非常に難しく、ruby1.9の採用を禁止していると思います。確かに、ルビーの人たちはこれを簡単にインストールできますか?

于 2011-11-14T01:01:27.047 に答える