2012-08-06 163 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

相關問題