简体   繁体   English

安装MySQL_python 1.2.2时出现GCC错误(Mac OS 10.6 Snow Leopard)

[英]GCC error when installing MySQL_python 1.2.2 (Mac OS 10.6 Snow Leopard)

I'm trying to install MySQL_python 1.2.2 (I specifically need this version, not the current 1.2.3) on Snow Leopard, and getting this error below. 我正在尝试在Snow Leopard上安装MySQL_python 1.2.2(我特别需要此版本,而不是当前的1.2.3),并在下面收到此错误。

Command to install: 要安装的命令:

pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download

And a portion of the trace: 并且部分跟踪:

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

Has anyone seen this error before? 有没有人见过这个错误?

A quick google search yielded this answer : 快速谷歌搜索产生了这个答案

To get mysqldb working on leopard I found I had to edit _mysql.c and edit out the lines: 为了让mysqldb在leopard上工作,我发现我必须编辑_mysql.c并编辑出这些行:

 #ifndef uint #define uint unsigned int #endif 

I also had to edit site.cfg and mark threadsafe to False. 我还必须编辑site.cfg并将threadsafe标记为False。

After doing this, I managed to get MySQLdb to install, great! 这样做之后,我设法安装了MySQLdb,太棒了! Not so fast, there was yet another problem: 没那么快,还有另一个问题:

Referenced from: .../_mysql.so Reason: image not found 引用自:... / _ mysql.so原因:未找到图像

The solution: 解决方案:

 sudo ln -s /usr/local/mysql/lib/ /usr/local/mysql/lib/mysql 

As the error says, things have been redefined. 正如错误所说,事情已被重新定义。 I've gotten around this in the past by commenting out the offending declarations in the source of the library being build. 我在过去通过评论正在构建的库的源代码中的违规声明来解决这个问题。 That solution however has some obvious problems... 然而,该解决方案存在一些明显的问

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM