首页 文章

OS X 10.8 - 尝试执行错误'/usr/bin/i686-apple-darwin11-gcc-4.2.1' - 安装json gem

提问于
浏览
14

我刚刚升级到OS X Mountain Lion(已经后悔) .

安装json gem的本机扩展时遇到问题 .

10.8之前我安装了命令行工具 . RVM与Ruby 1.9.2 .

升级到10.8并做了以下事情:

  • sudo chown -R whoami / usr / local

  • brew更新

  • brew tap homebrew / dupes

  • brew安装apple-gcc42

  • 安装了XCode 4.4

  • 已安装的XCode 4.4命令行工具
    在bash_profile中

  • export CC = / usr / local / bin / gcc-4.2

  • 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

我也试过symlinking ➽ 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-select XCode

EDIT3:

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

这固定了!基本上你告诉OS X使用/ usr / bin文件夹进行编译,然后将llvm-gcc-4.2编译器链接到以前的编译器 . 作品! BAM!

来源:http://jtimberman.housepub.org/blog/2012/02/26/xcode-command-line-tools/

4 回答

  • 2

    我的印象是你需要做的就是:

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

    我尝试使用xcode-select XCode和命令行工具 . 他们都工作 . 我还卸载了brew apple-gcc42,它仍然有效 . 也不需要导出CC .

    所以基本上只是链接 . 希望这能解决人们遇到的一些问题 .

  • 0

    你运行:

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

    让你的系统使用Xcode提供的命令行工具?

    在这个SO answer中多一点 .

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

    更简单的方法..我只是通过编辑rbconfig.rb文件来修复根问题〜/ .rvm / rubies / ruby-1.9.3-p327 / lib / ruby / 1.9.1 / x86_64-darwin12.2.0

    由于某种原因,文件被设置为使用gcc-4.2用于CC而不仅仅是计划gcc(IS llvm-gcc-4.2) .

相关问题