OS X 10.9.2:检查C编译器是否正常工作......没有

时间:2014-04-03 17:13:47

标签: macos gcc xcode5 osx-mavericks texinfo

我试图安装texinfo 5.2,我在./configure期间遇到了一些问题,我认为这些问题与C编译器有关。当我从Snow Leopard升级时,我没有进行干净的安装,所以也许这就是问题的一部分。无论如何,这就是我所拥有的:

ryansmacbook:texinfo-5.2 ryan$ sudo ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64"                  CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64"                  CPP="gcc -E" CXXCPP="g++ -E"
Password:
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking for perl... /usr/bin/perl
checking Perl version and Encode module... yes
checking for gawk... (cached) awk
checking for gcc... gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64
checking whether the C compiler works... no
configure: error: in `/Users/ryan/Downloads/texinfo-5.2':
configure: error: C compiler cannot create executables
See `config.log' for more details

我已经阅读了与此相关的其他一些问题,因此我尝试安装命令行工具。

ryansmacbook:~ ryan$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

所以看起来他们似乎没有安装,虽然我正在从App Store安装Xcode 5.1。根据我的阅读,应该安装命令行工具,但我已经尝试了

$ xcode-select --install

无论如何,当我告诉它安装时,会弹出一条消息说"无法安装软件,因为它目前无法从软件更新服务器获得。"

我在http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/找到了我认为可以解决的问题,所以我做了以下事情:

ryansmacbook:Tools ryan$ brew install coreutils
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
==> Downloading http://ftpmirror.gnu.org/coreutils/coreutils-8.22.tar.xz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/coreutils/8.22 --program-prefix=g --w
==> make install
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

    MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

/usr/local/share/info/dir: Permission denied
==> Summary
  /usr/local/Cellar/coreutils/8.22: 211 files, 10M, built in 2.4 minutes

但我仍有./configure问题。

供参考,

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix

虽然前几天我确实试图安装gcc-4.7,但它目前正在

/usr/gcc-4.7.2/bin/gcc-4.7

我不太确定如何让它作为命令从命令行运行,因为

$ gcc-4.7 --version
-bash: gcc-4.7: command not found

是我现在所得到的,但这可能既不在这里也不在那里。

编辑:由于这并没有直接回答我关于检查C编译器是否有效的问题,因此我没有将此作为答案提交。我刚试过brew install texinfo,这就像一个魅力。在这一点上,我真的不记得为什么我试图从源代码安装texinfo,也不记得我需要它(可能与GNU Make相关或与Emacs相关的东西?)。

8 个答案:

答案 0 :(得分:12)

安装xcode后我遇到了同样的问题;我所要做的就是运行gcc。然后,我要求我接受xcode许可。之后,它运作良好。

希望这有助于某人。

答案 1 :(得分:7)

我真的无法回答答案,但同样的事情发生在我身上。我试图得到红宝石1.9.3红宝石。 RVM抓住gcc46并告诉自制软件安装它。但是那时rvm install命令并不是那样的。所以brew uninstall gcc46然后brew install apple-gcc42就像一个魅力。

答案 2 :(得分:3)

对我来说问题是我没有跑

xcode-select --install

一旦我做到了,一切都运行良好

答案 3 :(得分:3)

sudo ln -s \ 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ \
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain

答案 4 :(得分:2)

gcc -version

同意Xcode / iOS许可证需要管理员权限,请通过sudo以root身份重新运行。

答案 5 :(得分:1)

我有类似的"检查C编译器是否正常工作......没有"在我的优胜美地mac。

我查了一些东西:

$ which gcc
gcc: aliased to nocorrect gcc
$ ll /usr/bin/gcc
-rwxr-xr-x  1 root  wheel    14K 27 Sep 04:06 /usr/bin/gcc
$ gcc
gcc: fatal error: no input files
compilation terminated.
$ gcc --version
gcc: warning: couldn't understand kern.osversion '14.0.0
gcc (GCC) 4.8.3
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

然后我安装了它:

$ brew install gcc
Error: You must `brew link cloog' before gcc can be installed
$ brew link cloog
Linking /usr/local/Cellar/cloog/0.18.1... 8 symlinks created
$ brew install gcc
Error: gcc-4.8.3 already installed
To install this version, first `brew unlink gcc'
$ brew unlink gcc
Unlinking /usr/local/Cellar/gcc/4.8.3... 39 symlinks removed
$ brew install gcc
....

它有效:

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix

答案 6 :(得分:0)

安装python3时的类似问题。我家的酿造过时了。我只是更新我的家酿咖啡具。

答案 7 :(得分:0)

我在设置React Native项目时遇到了这个问题。这个solution有用。

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