【问题标题】:GCC-4.2 error on Mac OSX Mountain Lion, unable to install mysql-pythonMac OSX Mountain Lion 上的 GCC-4.2 错误,无法安装 mysql-python
【发布时间】:2012-08-03 18:03:02
【问题描述】:

我在 Mac OSX Mountain Lion 上构建 MySQLdb 时遇到问题。从 OSX Lion 升级到 OSX Mountain Lion 后,我还下载并安装了 Xcode 4.4。然后,我去了 Preference > Downloads of the Xcode 并安装了命令行工具。

我已经下载了 MySQL-python 版本。 1.2.3 来自http://sourceforge.net/projects/mysql-python/

当我跑步时

python setup.py build

我收到以下消息:

running build
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.6-intel-2.7/MySQLdb
running build_ext
building '_mysql' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -O3 -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.6-intel-2.7/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64
unable to execute gcc-4.2: No such file or directory
error: command 'gcc-4.2' failed with exit status 1

但是,gcc 存在。当我跑步时

gcc

我明白了

i686-apple-darwin11-llvm-gcc-4.2: no input files

下面是我发现的一个类似问题,但它的解决方案,这正是我已经做过的,对我不起作用。

How to install MySQLdb on Mountain Lion

【问题讨论】:

    标签: gcc mysql-python osx-mountain-lion


    【解决方案1】:

    使用以下命令使 make(或类似的)使用正确的 gcc:

    export CC=/usr/bin/gcc

    【讨论】:

      【解决方案2】:

      我遇到了这个。对我来说,这是因为我从 http://python.org 的 DMG 安装程序安装了 python。这些是针对错误的 gcc 构建的。我通过使用 Homebrew 从源代码编译 python 来修复它:http://mxcl.github.com/homebrew/

      brew install python
      

      链接到正确的 gcc

      (在我的具体情况下,我使用的是较旧的 Python,这就是我使用 DMG 安装程序的原因。我发现自制软件也有旧版本的公式)

      【讨论】:

        【解决方案3】:

        我在使用 Ruby On Rails 3.2.7 时遇到了类似的问题。 我也将系统升级到了 Mountain Lion,安装了 Xcode 4.4.1 并下载了命令行工具。

        在命令行我收到一条错误消息,提示无法找到文件:/usr/bin/gcc-4.2(我现在无法粘贴精确的输出,抱歉)。

        我确实有一个/usr/bin/gcc,它的版本是i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1

        我通过符号链接同一目录中的文件并将其命名为 Ruby 脚本正在寻找的名称解决了这个问题:

        sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
        

        之后,一切正常。

        【讨论】:

        • 虽然我自己没有尝试过,但我相信这应该适用于所有情况 - 因为它只是提供代码正在寻找的内容。
        • 我想知道,如果有人能解释一下,为什么山狮会出现这种情况?
        • 我认为这主要取决于 Xcode 如何处理其命令行开发工具,例如更新 Xcode 时删除它们的方式。如何将它们打包到您通过 Xcode 下载的包中也很重要。
        • Mountain Lion 上 Python 2.6 的 Makefile 似乎在几个地方指定了 CC=gcc-4.2。 CONFIG_FLAGS 也会覆盖环境中指定的 CC,这使得在命令行上重新定义它是不可能的。大概这是硬编码到构建已安装 Python 的编译器,而不是系统编译器。修改 lib/python2.6/config/Makefile 中的两个 CC 定义,一切都会好的:-)
        【解决方案4】:

        我使用 ActivePython 绕过了这个问题。

        MySQLdbhere有具体安装说明。

        由于这是我第一次使用 ActivePython,我不确定这是否是解决此问题的可靠解决方案。因此,在确定此问题有效之前,我将保留此问题。

        【讨论】:

        • 我在两台电脑上用这个方法一个月没问题。
        猜你喜欢
        • 1970-01-01
        • 2012-07-27
        • 2013-04-13
        • 1970-01-01
        • 2013-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-02
        相关资源
        最近更新 更多