14

OS X Mountain Lionにアップグレードしました(すでに後悔しています)。

jsongemのネイティブ拡張機能のインストールに問題があります。

10.8より前は、コマンドラインツールをインストールしていました。Ruby1.9.2を使用したRVM。

10.8にアップグレードし、次のことを行いました。

  • sudo chown -R whoami/ usr / local
  • 醸造の更新
  • ブリュータップ自作/デュープ
  • brew install apple-gcc42
  • インストールされたXCode4.4
  • XCode4.4用にインストールされたコマンドラインツール
  • CC = / usr / local / bin/gcc-4.2をbash_profileにエクスポートします
  • sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2
  • 編集:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

json gemをインストールしても、次の出力が得られます。

➽ gem install json -v '1.7.4'
Building native extensions.  This could take a while...
ERROR:  Error installing json:
    ERROR: Failed to build gem native extension.

        /Users/vincent/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
creating Makefile

make
/usr/bin/gcc-4.2 -I. -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/ruby/backward -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1 -I. -DJSON_GENERATOR -I/Users/vincent/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe -O3 -Wall -O0 -ggdb  -o generator.o -c generator.c
gcc-4.2: error trying to exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1': execvp: No such file or directory
make: *** [generator.o] Error 255


Gem files will remain installed in /Users/vincent/.rvm/gems/ruby-1.9.2-p320@hshmrk/gems/json-1.7.4 for inspection.
Results logged to /Users/vincent/.rvm/gems/ruby-1.9.2-p320@hshmrk/gems/json-1.7.4/ext/json/ext/generator/gem_make.out

ここで何か助けはありますか?ビルド環境をデバッグするにはどうすればよいですか?これに関しては専門家ではありませんが、json gemインストーラーは、システムに存在しないバージョンのGCCを使用しており、brewインストーラーもそれを作成しないため、私の環境を無視していると思います。

➽ gcc-4.2
i686-apple-darwin11-gcc-4.2.1: no input files

➽ which gcc-4.2
/usr/local/bin/gcc-4.2

➽ ls /usr/bin/i686-apple-darwin11-gcc-4.2.1
ls: /usr/bin/i686-apple-darwin11-gcc-4.2.1: No such file or directory

シンボリックもやってみまし➽ sudo link /usr/local/bin/gcc-4.2 /usr/bin/i686-apple-darwin11-gcc-4.2.1た。しかし、それはvforkタイムアウトエラーを引き起こしました。

編集:

➽ brew doctor
gcc-4.2: error trying to exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1': execvp: No such file or directory
Warning: X11 is not installed.
You don't have X11 installed as part of your OS X installation.
This is not required for all formulae, but is expected by some.
You can download the latest version of XQuartz from:
  https://xquartz.macosforge.org

edit2:

xcodeを実行しました-XCodeを選択します

edit3:

sudo xcode-select -switch /usr/bin
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

これで修正されました!基本的に、OSXに/usr / binフォルダーを使用してコンパイルするように指示してから、llvm-gcc-4.2コンパイラーを古いコンパイラーがあった場所にリンクします。動作します!バム!

ソース: http: //jtimberman.housepub.org/blog/2012/02/26/xcode-command-line-tools/

4

4 に答える 4

29

私はあなたがする必要があるのは:

sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

xcodeを試してみました-XCodeとコマンドラインツールを選択します。どちらも機能します。また、brew apple-gcc42をアンインストールしましたが、それでも機能します。エクスポートCCも必要ありません。

つまり、基本的にはリンクだけです。これが人々が抱えているいくつかの問題を解決することを願っています。

于 2012-07-29T17:45:06.697 に答える
2

実行しましたか:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Xcodeが提供するコマンドラインツールをシステムで使用するには?

このSOの答えでもう少し。

于 2012-07-29T16:24:37.047 に答える
2
sudo xcode-select -switch /usr/bin
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
于 2012-07-29T19:21:07.703 に答える
0

さらに簡単なアプローチ..rbconfig.rbファイルを編集して根本的な問題を修正しました〜/ .rvm / rubies / ruby​​-1.9.3-p327 / lib / ruby​​ / 1.9.1 / x86_64-darwin12.2.0

何らかの理由で、そのファイルは、gcc(llvm-gcc-4.2)を計画するだけでなく、CCにgcc-4.2を使用するようにセットアップされています。

于 2012-12-06T17:27:34.860 に答える