当前位置:首页 > Mysql教程 > 列表

_mysql.c:602: error: expected expression before ) token 解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-02 10:43:33 浏览: 评论:0 

在安装mysql-python的时候遇到这么个问题:

  1. [root@centos01 MySQL-python-1.2.4b4]# python setup.py build 
  2. running build 
  3. running build_py 
  4. copying MySQLdb/release.py -> build/lib.linux-i686-2.4/MySQLdb 
  5. running build_ext 
  6. building '_mysql' extension 
  7. gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-siz                                      e=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fPIC -Dversion_info=(1,2,4,'beta',4) -D__version__=1.                                      2.4b4 -I/usr/local/mysql/include/mysql -I/usr/include/python2.4 -c _mysql.c -o build/temp.linux-i686-2.4/_mysql.o -g -DUNIV_LINUX 
  8. _mysql.c: In function ‘_mysql_ConnectionObject_Initialize’: 
  9. _mysql.c:602: error: expected expression before ‘)’ token 
  10. error: command 'gcc' failed with exit status 1 

这里的源码有点问题,找到 _mysql.c 602行附近,找到下边的代码:

  1. if (!PyArg_ParseTupleAndKeywords(args, kwargs, 
  2. #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT 
  3. "|ssssisOiiisssiOii:connect"
  4. #else 
  5. "|ssssisOiiisssiOi:connect"
  6. #endif 
  7. kwlist, 
  8. &host, &user, &passwd, &db, 
  9. &port, &unix_socket, &conv, 
  10. &connect_timeout, 
  11. &compress, &named_pipe, 
  12. &init_command, &read_default_file, 
  13. &read_default_group, 
  14. &client_flag, &ssl, 
  15. &local_infile, 
  16. #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT 
  17. &read_timeout 
  18. #endif 
  19. )) 
  20.  
  21. return -1; 
  22. //改为 
  23. if (!PyArg_ParseTupleAndKeywords(args, kwargs, 
  24. #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT 
  25. "|ssssisOiiisssiOii:connect"
  26. #else  //phpfensi.com 
  27. "|ssssisOiiisssiOi:connect"
  28. #endif 
  29. kwlist, 
  30. &host, &user, &passwd, &db, 
  31. &port, &unix_socket, &conv, 
  32. &connect_timeout, 
  33. &compress, &named_pipe, 
  34. &init_command, &read_default_file, 
  35. &read_default_group, 
  36. &client_flag, &ssl, 
  37. &local_infile 
  38. #ifdef HAVE_MYSQL_OPT_READ_TIMEOUT 
  39. , &read_timeout 
  40. #endif 
  41. )) 
  42.  
  43. return -1; 

再重新执行 python setup.py build 就OK了.

Tags: _mysql c:602 expected expression

分享到: