【问题标题】:OS X 10.9.2: checking whether the C compiler works... noOS X 10.9.2:检查 C 编译器是否工作...否
【发布时间】:2014-05-15 16:31:10
【问题描述】:

我正在尝试安装 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 相关?)。

【问题讨论】:

  • 我刚才遇到了类似的错误。我似乎已经修复了它,所以这可能会对你有所帮助。我通过自制软件安装了 gcc46。这似乎是我问题的根源。我卸载了它并安装了 apple-gcc42,现在一切似乎都正常了。不过,我建造的东西和你不一样。
  • 命令行工具包含在 Xcode 包中。那里有一个 gcc 可执行文件。只需在命令行中尝试gcc --version 即可查看是否有任何结果。我不确定它是否是一个真正的 gcc 编译器,它可能只是 llvm 编译器的别名。
  • 通过 brew 安装 apple-gcc42 为我解决了这个问题。谢谢!
  • 好的。那行得通。除了需要更新的编译器的东西......例如,我们如何编译 libv8? 4.2 好像不行。
  • 不要运行configuresudo...你在想什么?

标签: macos gcc xcode5 osx-mavericks texinfo


【解决方案1】:

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

希望这对某人有所帮助。

【讨论】:

  • 我遇到了同样的问题,您的解决方案效果很好!! :)
  • 如果你提供一个如何运行 gcc 的例子会更好!
  • 启动命令行(wikihow.com/Get-to-the-Command-Line-on-a-Mac)然后输入:gcc
  • sudo gcc 为我工作。这个答案对我也有帮助,经过这么多年,当我最不期待的时候,这仍然让我措手不及。
  • 当我尝试上述 2 个选项时,我收到错误 gcc: fatal error: no input files 或 gcc: error: unrecognized command line option ‘--’
【解决方案2】:

我不能真正相信答案,但同样的事情也发生在我身上。我试图得到一个 ruby​​-1.9.3 ruby​​。 RVM 抓取 gcc46 并告诉 homebrew 安装它。但是 rvm install 命令不喜欢那样。所以brew uninstall gcc46 然后brew install apple-gcc42 就像一个魅力。

【讨论】:

  • brew install apple-gcc42 修复了readline 的问题,但是我无法安装sqlite
【解决方案3】:

对我来说,问题是我没有跑

xcode-select --install

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

【讨论】:

  • 最优雅的答案。我在 MacOS Mojave (10.14) 上使用它,它立即工作。开发者工具在几个月前更新了,但由于某种原因这还不够,这是使 ./configure 工作所必需的
【解决方案4】:
sudo ln -s \ 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ \
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.9.xctoolchain

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关 why 和/或 如何 此代码回答问题的附加上下文可提高其长期价值.
  • 刚刚在 OS X El Capitan 上工作,它报告了对 /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain 的丢失文件调用。如上所述设置符号链接,clang 编译器按预期工作。命令:$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.11.xctoolchain
  • 解决方案适用于 OS X El Capitan。我安装了 xcode,加上 brew 安装了 gcc 5.3(在我的路径中首先使用 xcode 版本,当我需要 5.3 的更新功能时,我只是别名 5.3)。按照@olivetree123 的建议设置符号链接是对我有用的修复程序。它起作用的原因 - 如果你通过大量的日志文件根目录,你会看到一个小“嘿,你错过了 ...xctoolchain”,所以从默认符号链接它是显而易见的选择。
【解决方案5】:

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

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

【讨论】:

    【解决方案6】:
    sudo gcc --version
    

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

    【讨论】:

    • gcc --version
    【解决方案7】:

    在我的优胜美地 Mac 中,我遇到了类似的“检查 C 编译器是否工作......没有”的问题。

    我检查了一些东西:

    $ 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
    

    【讨论】:

    • 在 Xcode 中使用 clang 有什么问题?
    • 某些软件包仅支持gcc... 让所有东西都可以使用gcc 并不是那么简单,因为整个操作系统都是使用clang 设计的
    【解决方案8】:

    安装python3时出现类似问题。我家的啤酒已经过时了。我只是更新了我的家庭酿造实用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多