【问题标题】:./configure can't find C compiler after OS X Lion installation./configure 在 OS X Lion 安装后找不到 C 编译器
【发布时间】:2011-10-11 06:01:45
【问题描述】:

虽然ccgcc 完全处于正确的路径中(OS X Lion 中的/Developer/usr/bin),但运行./configure 会尝试通过硬编码(我猜)路径来编译它 - /usr/bin

在哪里设置 configure 的路径?

【问题讨论】:

  • 你试过export CC=/Developer/usr/bin/whatever
  • 您升级到 Xcode 4.1 或更高版本了吗?
  • 升级Xcode后,我也遇到了同样的问题。我注意到 /Developer/About Xcode.pdf 说“UNIX 开发。用于基于 UNIX 的开发的命令行工具。它的组件总是放在 /usr - 一次只安装一个版本。”

标签: xcode macos osx-lion configure


【解决方案1】:

正确的答案是从 App Store(免费)安装 Xcode 4,然后运行 ​​/Applications/Install Xcode.app。那么你需要的一切都将在 /usr/ 中。

【讨论】:

  • 问题是,我已经从 AppStore 安装了 Xcode 4。必须将 /Developer/usr/bin/cc 符号链接到 /usr/bin;但是,./configure 仍然中断。
  • njamesp 所示,有 两个 要求。 (1) 从 App Store 安装 Xcode 4(你说你已经完成了)。 (2) 运行/Applications/Install Xcode.app。我遇到了与您完全相同的问题,直到我两个都做了这些事情。
  • @mivk 完全不正确。我有一个 Apple ID,可以正常工作,没有附加信用卡。
  • @Trezoid:这也可能取决于您从哪个国家/地区访问该网站,和/或您要下载哪个文件。我想我可以在不向我的 ID 添加 CC 的情况下 dl Xcode 3,但不是 Xcode 4。
  • 我发现 njamesp 的建议略有不同(我使用的是 Xcode 4.3)。安装并启动 Xcode 后,转到 Xcode -> Preferences -> 下载并安装命令行工具。 gcc 将位于 /usr/bin/gcc,符号链接到 llvm-gcc-4.2
【解决方案2】:

实际上,最好的做法是从 Apple 下载并安装新的命令行开发人员工具包,它在 /usr/bin 中为您提供工具以及适当位置的库和文档(例如联机帮助页)。要么在 developer.apple.com 上找到它,要么查看 here 了解详细信息和链接。

【讨论】:

  • 或者你可以进入 Xcode > Preferences > Downloads 并在“命令行工具”之后点击安装
【解决方案3】:

我刚遇到这个...我通过安装 XCode“命令行工具”包“解决”了它

但由于某种原因,当项目打开时(至少对我而言)不可能到达相同的首选项窗口。我必须执行以下操作

  • 关闭 XCode(如果正在运行)
  • 启动 XCode(不要打开项目)
  • 按命令+,
  • 转到Downloads
  • 点击install

【讨论】:

    【解决方案4】:

    njamesp 是正确的;解决问题的正确方法是正确安装编译器工具链。但是对于我在哪里设置 configure 的路径?这个问题,有几个解决方案。

    1. 将其传递给配置为命令行选项:/path/to/configure CC=/p/a/t/h

    2. (Deprecated-bourne shell) 在环境中传递:CC=/p/a/t/h /p/t/configure

    3. (已弃用-csh)env CC=/p/a/t/h /p/t/configure

    4. 设置一个 config.site。将CONFIG_SITE作为文件路径放入你的环境中, (例如导出CONFIG_SITE=$HOME/config.site),把CC=/p/a/t/h放到那个文件里

    5. CC=/p/a/t/h 放入/usr/local/share/config.site

    所有这些都假设您的配置脚本是由 autoconf 生成的。不鼓励使用选项 2 和 3,但如果您的配置脚本是古老的,选项 1 可能不起作用。选项 5 很灵活,您可以根据前缀使用不同的 config.sites。 $prefix/share/config.site 可用于为安装在$prefix 中的项目设置选项。

    【讨论】:

      【解决方案5】:

      第 1 项正确:我只是做了同样的事情。

      安装 XCODE 启动 XCODE 点击 Xcode 选择首选项 点击 XCode 首选项窗格中的下载 单击命令行工具和 点击“安装”

      编译器安装在 /usr/bin

      cd 在那里,然后输入"gcc -v"(不带引号)你应该得到以下内容:

      $ gcc -v
      Using built-in specs.
      Target: i686-apple-darwin11
      Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/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.11~67/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.11.00)
      $ 
      

      【讨论】:

        【解决方案6】:

        我最近安装了 OSX Mavericks,想升级到 php 5.5.5,遇到了类似的问题

        [user@host /path/to/php5.5.5_src]$ ./configure
        checking for cc... cc
        checking whether the C compiler works... no
        

        查看我的包含路径,我注意到只添加了 de 基本 Xcode 路径(我有 Xcode 5)

        [user@host ~]$ cat /etc/paths
        /usr/bin
        /Applications/Xcode.app/Contents/Developer/usr/bin
        /bin
        ...
        

        我需要做的就是添加工具链的路径

        [user@host ~]$ sudo vi /etc/paths
        /usr/bin
        /Applications/Xcode.app/Contents/Developer/usr/bin
        /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
        /bin
        ...
        

        瞧,它找到了。

        [user@host /path/to/php5.5.5_src]$ ./configure
        checking for cc... cc
        checking whether the C compiler works... yes
        

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2012-02-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-07
          • 2015-04-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多