2012-06-12 4 views
1

Только что установленный XCode 4.3, теперь не может установить пакет mysql-python. Я использую OS X Lion 10.7.4, XCode 4.3, homebrew, все установлено всего несколько часов назад. Использование homebrew'ed питона 2.7.3, MySQL 5.5.25Невозможно скомпилировать mysql-python с XCode 4.3/homebrew

Вот результат:

(lukasz) ~ > pip install MySQL-python 
Downloading/unpacking MySQL-python 
Running setup.py egg_info for package MySQL-python 

warning: no files found matching 'MANIFEST' 
warning: no files found matching 'ChangeLog' 
warning: no files found matching 'GPL' 
Installing collected packages: MySQL-python 
Running setup.py install for MySQL-python 
building '_mysql' extension 
/usr/bin/gcc-4.2 -fno-strict-aliasing -Os -w -pipe -march=native -Qunused-arguments -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/Cellar/mysql/5.5.25/include -I/usr/local/Cellar/python/2.7.3/include/python2.7 -c _mysql.c -o build/temp.macosx-10.4-x86_64-2.7/_mysql.o -Qunused-arguments -g 
_mysql.c:1: error: bad value (native) for -march= switch 
_mysql.c:1: error: bad value (native) for -mtune= switch 
error: command '/usr/bin/gcc-4.2' failed with exit status 1 
Complete output from command /usr/local/Cellar/python/2.7.3/bin/python -c "import setuptools;__file__='/Users/lukasz/build/MySQL-python/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/lv/p8rbhkk559x1337twh8flq0r0000gn/T/pip-Bvu67T-record/install-record.txt: 
running install 

running build 

running build_py 

copying MySQLdb/release.py -> build/lib.macosx-10.4-x86_64-2.7/MySQLdb 

running build_ext 

building '_mysql' extension 

/usr/bin/gcc-4.2 -fno-strict-aliasing -Os -w -pipe -march=native -Qunused-arguments -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/Cellar/mysql/5.5.25/include -I/usr/local/Cellar/python/2.7.3/include/python2.7 -c _mysql.c -o build/temp.macosx-10.4-x86_64-2.7/_mysql.o -Qunused-arguments -g 

_mysql.c:1: error: bad value (native) for -march= switch 

_mysql.c:1: error: bad value (native) for -mtune= switch 

error: command '/usr/bin/gcc-4.2' failed with exit status 1 

---------------------------------------- 
Command /usr/local/Cellar/python/2.7.3/bin/python -c "import setuptools;__file__='/Users/lukasz/build/MySQL-python/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /var/folders/lv/p8rbhkk559x1337twh8flq0r0000gn/T/pip-Bvu67T-record/install-record.txt failed with error code 1 in /Users/lukasz/build/MySQL-python 
Storing complete log in /Users/lukasz/.pip/pip.log 
(lukasz) ~ > 

Mysql был установлен с доморощенным без проблем:

(lukasz) ~ > brew info mysql 
mysql 5.5.25 
http://dev.mysql.com/doc/refman/5.5/en/ 
Depends on: cmake, readline, pidof 
/usr/local/Cellar/mysql/5.5.25 (6382 files, 222M) * 
fatal: Not a git repository (or any of the parent directories): .git 
https://github.com//homebrew/commits/master/Library/Formula/mysql.rb 

Есть ли способ вручную изменить это марш флаг?

UPDATE:

О, я также установил инструменты командной строки (Xcode -> Настройки -> Загрузка), которая, по-видимому создает ссылку для НКУ-4,2:

(lukasz) ~ > which gcc-4.2 
/usr/bin/gcc-4.2 
(lukasz) ~ > ls -l `which gcc-4.2` 
lrwxr-xr-x 1 root wheel 12 12 Jun 01:36 /usr/bin/gcc-4.2 -> /usr/bin/gcc 
(lukasz) ~ > gcc-4.2 --version 
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00) 
... 
+0

Xcode 4.3 не снабжает 'gcc-4.2', поэтому вы, похоже, используете компилятор, установленный из какого-либо другого источника. Что говорит 'gcc-4.2 -version'? –

+0

@NedDeily, кажется, Инструменты командной строки создал эту ссылку (Xcode> Preferences> Загрузка ...) (Лукаш) ~> которые НКУ-4,2 /usr/bin/gcc-4.2 (Лукаш) ~> Ls -l 'который gcc-4.2' lrwxr-xr-x 1 корень колеса 12 12 июня 01:36 /usr/bin/gcc-4.2 ->/usr/bin/gcc (lukasz) ~> gcc-4.2 - версия i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (на основе сборки Apple Inc. 5658) (LLVM build 2336.9.00) ... – lukaszb

+0

Насколько я знаю, инструменты командной строки Apple не устанавливайте символическую ссылку для gcc-4.2 (и я просто подтвердил, что это не изменилось с только что выпущенным Xcode 4.3.3 и его инструментами командной строки). Но llvm-gcc, с которым он связан, является последним Apple gcc. Так что это не проблема. Эти флаги обычно не применимы ни к компиляторам Apple; они обычно используют «-арх». Возможно, он вводится с помощью настройки переменной среды, как CFLAGS или LDFLAGS. Кроме того, проверьте, что записано в конфигурации mysql, запустив mysql_config; MySQL-python смотрит на него. –

ответ

1

Этот может быть несколько не по теме, но если в итоге вы не сможете скомпилировать MySQL-python, вы можете попробовать PyMySQL, который является чистым клиентом python mysql и может быть заменой для MySQL-python. Он работает довольно быстро.

Смежные вопросы