GCC error when installing MySQL_python 1.2.2 (Mac OS 10.6 Snow Leopard)
我正在尝试在雪豹上安装mysql_python 1.2.2(我特别需要这个版本,而不是当前的1.2.3),并在下面得到这个错误。
要安装的命令:
1 | pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download |
以及一部分痕迹:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb/constants running build_ext building '_mysql' extension creating build/temp.macosx-10.6-universal-2.6 /usr/bin/gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,2,'final',0) - D__version__=1.2.2 -I/usr/local/mysql/include - I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -g -Os -arch x86_64 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL In file included from _mysql.c:35: /usr/local/mysql/include/my_config.h:1053:1: warning:"HAVE_WCSCOLL" redefined In file included from /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/Python.h:8, from pymemcompat.h:10, from _mysql.c:29: /System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6/pyconfig.h:803:1: warning: this is the location of the previous definition In file included from /usr/local/mysql/include/mysql.h:47, from _mysql.c:40: /usr/include/sys/types.h:92: error: duplicate ‘unsigned’ /usr/include/sys/types.h:92: error: two or more data types in declaration specifiers error: command '/usr/bin/gcc-4.2' failed with exit status 1 |
以前有人见过这个错误吗?
谷歌快速搜索得到了这个答案:
To get mysqldb working on leopard I found I had to edit _mysql.c and edit out the lines:
1
2
3 #ifndef uint
#define uint unsigned int
#endifI also had to edit site.cfg and mark threadsafe to False.
After doing this, I managed to get MySQLdb to install, great! Not so
fast, there was yet another problem:Referenced from: .../_mysql.so Reason: image not found
The solution:
1 sudo ln -s /usr/local/mysql/lib/ /usr/local/mysql/lib/mysql
正如错误所说,事情已经被重新定义了。在过去,我通过在正在构建的库的源代码中注释出有问题的声明来绕过这个问题。但是,这个解决方案有一些明显的问题…