2012-08-06 166 views
9

我在Mac OSX Mountain Lion上构建MySQLdb时遇到问题。从OSX Lion升级到OSX Mountain Lion后,我也下载并安装了Xcode 4.4。然后,我去了首选项>下载Xcode并安装了命令行工具。Mac OSX Mountain Lion上的GCC-4.2错误,无法安装mysql-python

我已经下载了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 

我得到

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

下面是我发现了一个类似的问题,但它的解决方案,这正是我已经做了,不适合我的工作。

How to install MySQLdb on Mountain Lion

回答

36

我在使用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 

后那,一切正常。

+0

虽然我自己没有尝试过,但我相信这应该适用于所有情况 - 因为它只是提供代码所需的内容。 – taelimoh 2012-08-09 02:58:13

+0

我想知道,如果有人能解释,为什么地狱是这样的山狮? – 2012-10-06 11:26:12

+0

我认为这主要取决于Xcode如何处理其命令行开发工具,例如它们在更新Xcode时被删除的方式。如何将它们打包到您在Xcode中下载的软件包中也很重要。 – tompave 2012-10-07 13:48:15

0

我用的ActivePython绕道这个问题。

有针对MySQLdb的具体安装说明here

由于这是我第一次使用ActivePython,我不确定这是否是这个问题的强大解决方案。因此,我将会保留这个问题,直到我确定这个问题有效。

+0

我不得不使用这种方法了一个月没问题两台电脑。 – taelimoh 2012-09-07 12:45:25

1

我遇到了这个问题。对我来说,这是因为我从DMG安装程序在http://python.org处安装了python。这些都是针对错误的gcc构建的。我固定它通过使用自制软件从源代码编译的Python:http://mxcl.github.com/homebrew/

brew install python 

,对正确的GCC

链接(在我的特定情况下,我使用的是老式的Python这就是为什么我用了一个DMG安装程序。我发现,自制的也有旧版本的公式)

3

使用以下命令进行补充(或similiar)使用正确的GCC:

export CC=/usr/bin/gcc

相关问题