ruby 检查 C 编译器是否工作...否

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9765211/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-06 04:54:52  来源:igfitidea点击:

checking whether the C compiler works... no

rubyxcodegcccompiler-constructionrvm

提问by Ava

I recently uninstalled Xcode 4.2 and re-installed Xcode 4.3.1. Installed Command Line Toolsalso. The error says 'C compiler doesn't work`. On searching for this error, it said that it happens when Xcode is not installed. What am I missing?

我最近卸载了 Xcode 4.2 并重新安装了 Xcode 4.3.1。Command Line Tools也安装了。错误提示“C 编译器不起作用”。在搜索此错误时,它表示未安装 Xcode 时会发生此错误。我错过了什么?

rvm install 1.9.3 --with-gcc=clang
Installing Ruby from source to: /Users/ava/.rvm/rubies/ruby-1.9.3-preview1, this may take a while depending on your cpu(s)...

ruby-1.9.3-preview1 - #fetching 
ruby-1.9.3-preview1 - #extracting ruby-1.9.3-preview1 to /Users/ava/.rvm/src/ruby-1.9.3-preview1
ruby-1.9.3-preview1 - #extracted to /Users/ava/.rvm/src/ruby-1.9.3-preview1
Fetching yaml-0.1.4.tar.gz to /Users/ava/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/ava/.rvm/src
Configuring yaml in /Users/ava/.rvm/src/yaml-0.1.4.
ERROR: Error running ' ./configure --prefix="/Users/ava/.rvm/usr"  --with-gcc=clang           --build=x86_64-apple-darwin11.3.0           --host=x86_64-apple-darwin11.3.0           --build=x86_64-apple-darwin11.3.0           --host=x86_64-apple-darwin11.3.0 ', please read /Users/ava/.rvm/log/ruby-1.9.3-preview1/yaml/configure.log
Compiling yaml in /Users/ava/.rvm/src/yaml-0.1.4.
ERROR: Error running '/usr/bin/make ', please read /Users/ava/.rvm/log/ruby-1.9.3-preview1/yaml/make.log
Installing yaml to /Users/ava/.rvm/usr
ERROR: Error running '/usr/bin/make install', please read /Users/ava/.rvm/log/ruby-1.9.3-preview1/yaml/make.install.log
ruby-1.9.3-preview1 - #configuring 
ERROR: Error running ' ./configure --prefix=/Users/ava/.rvm/rubies/ruby-1.9.3-preview1 --enable-shared --disable-install-doc  --with-gcc=clang           --build=x86_64-apple-darwin11.3.0           --host=x86_64-apple-darwin11.3.0           --build=x86_64-apple-darwin11.3.0           --host=x86_64-apple-darwin11.3.0 --with-libyaml-dir=/Users/ava/.rvm/usr ', please read /Users/ava/.rvm/log/ruby-1.9.3-preview1/configure.log
ERROR: There has been an error while running configure. Halting the installation.


?  yaml git:(master) ? vi configure.log 

[2012-03-18 21:03:00]  ./configure --prefix="/Users/ava/.rvm/usr"  --with-gcc=clang           --build=x86_64-apple-darwin11.3.0           --host=x86_64-apple-darwin11.3.0           --build=x86_64-apple-darwin11.3.0           --host=x86_64-apple-darwin11.3.0
configure: WARNING: unrecognized options: --with-gcc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... config/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for x86_64-apple-darwin11.3.0-gcc... no
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/Users/ava/.rvm/src/yaml-0.1.4':
configure: error: C compiler cannot create executables
See `config.log' for more details


?  ~ git:(master) ? gcc -v   
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.9~22/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.9~22/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)


?  ~ git:(master) ? which gcc
/usr/bin/gcc

回答by Kurt Revis

In the Terminal:

在终端:

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

Also, in Xcode, make sure the Command Line Tools are installed. Choose Xcode > Preferences, click on Downloads, and if necessary, click the Install button next to "Command Line Tools".

此外,在 Xcode 中,请确保安装了命令行工具。选择 Xcode > Preferences,点击 Downloads,如有必要,点击“Command Line Tools”旁边的 Install 按钮。

回答by mpapis

  1. you use old RVM which does not know about latest ruby pathclevel, update with rvm get head

  2. Ruby is not yet fully ready for LLVM, your get best chances for compilation using osx-gcc-installer and --with-gcc=gcc-4.2

  1. 您使用不知道最新 ruby​​ pathclevel 的旧 RVM,更新为 rvm get head

  2. Ruby 尚未完全为 LLVM 做好准备,您可以使用 osx-gcc-installer 和 --with-gcc=gcc-4.2

回答by 7Vals

I fixed it by running :

我通过运行修复它:

rvm install <ruby-version> --with-gcc=clang

Replace < ruby-version> with version you want to use

将 <ruby-version> 替换为您要使用的版本

回答by westonplatter

For those out there running into the same problem,

对于那些遇到同样问题的人,

System (in order of installation)

系统(按安装顺序)

I had set LDFLAGS and CPPFLAGS to point to Homebrew installations, this resulted in errors. I "unlinked" LDFLAGS and CPPFLAGS, ran 'rvm install 1.9.2' and everything worked fine.

我已将 LDFLAGS 和 CPPFLAGS 设置为指向 Homebrew 安装,这导致了错误。我“取消链接” LDFLAGS 和 CPPFLAGS,运行“rvm install 1.9.2”,一切正常。

  • rvm install 1.9.2
  • rvm 安装 1.9.2

回答by Sreejith Ramakrishnan

Try ./configure --without-gccto use clang.

尝试./configure --without-gcc使用叮当声。

回答by DemitryT

I'm on Mavericks and the provided answers didn't work for me. However, updating my version of Xcode and making sure Command Line Tools are installed did the trick.

我在小牛队,提供的答案对我不起作用。但是,更新我的 Xcode 版本并确保安装了命令行工具可以解决问题。

回答by Jones Agyemang

It is a lot easier to install by using the compiler the system knows about

使用系统知道的编译器安装会容易得多

1. rvm install ruby-1.9.3-p547 --with-gcc=`echo which gcc`