mysql升级到5.5版本以后无法编译
来源:互联网 发布:万方数据库是免费的吗 编辑:程序博客网 时间:2024/05/01 02:44
转自天空极速的博客 http://www.siutung.org/post/446/
在FreeBSD里升级php5-extensions的过程中,出现mysqli无法正常进行编译,错误提示:
===> Building for php5-mysqli-5.2.12_2
/bin/sh /usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/libtool --mode=compile cc -I. -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -DPHP_ATOM_INC -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/include -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/main -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/local/include/mysql -DHAVE_CONFIG_H -O2 -pipe -fno-strict-aliasing -c /usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c -o mysqli.lo
mkdir .libs
cc -I. -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -DPHP_ATOM_INC -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/include -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/main -I/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/local/include/mysql -DHAVE_CONFIG_H -O2 -pipe -fno-strict-aliasing -c /usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c -fPIC -DPIC -o .libs/mysqli.o
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c: In function 'zm_startup_mysqli':
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:637: error: 'MYSQL_RPL_MASTER' undeclared (first use in this function)
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:637: error: (Each undeclared identifier is reported only once
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:637: error: for each function it appears in.)
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:638: error: 'MYSQL_RPL_SLAVE' undeclared (first use in this function)
/usr/ports/databases/php5-mysqli/work/php-5.2.12/ext/mysqli/mysqli.c:639: error: 'MYSQL_RPL_ADMIN' undeclared (first use in this function)
*** Error code 1
1 error
*** Error code 1
Stop in /usr/ports/databases/php5-mysqli.
===>>> make failed for databases/php5-mysqli
===>>> Aborting update
===>>> Update for databases/php5-mysqli failed
===>>> Aborting update
原因:这是mysql的一个bug,http://bugs.php.net/bug.php?id=46207&edit=1 ,已经提交了。
解决:
修改/usr/local/include/mysql/mysql.h文件内容:
enum mysql_protocol_type
{
MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET,
MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY
};
----------------------------==添加的内容开始==-------------------------------------
/*
There are three types of queries - the ones that have to go to
the master, the ones that go to a slave, and the adminstrative
type which must happen on the pivot connectioin
*/
enum mysql_rpl_type
{
MYSQL_RPL_MASTER, MYSQL_RPL_SLAVE, MYSQL_RPL_ADMIN
};
----------------------------==添加的内容结束==--------------------------------------
typedef struct character_set
{
unsigned int number; /* character set number */
unsigned int state; /* character set state */
const char *csname; /* collation name */
const char *name; /* character set name */
将以上蓝色的部分内容,添加到mysql.h文件对应的位置,重新编译即可。
NND,害得我差点就重装mysql了。
- mysql升级到5.5版本以后无法编译
- PHP无法在MySQL 5.5版本以后通过编译
- php版本从5.3升级到5.5以后,老版的phpmyadmin没法使用的解决办法
- Ubuntu 升级到11.04以后发现无法启动iptux
- xcode升级到5.1以后的编译问题
- mysql升级到5.x版本
- MySQL 瑞士军刀SQLyog升级到最新版本
- centos yum升级到mysql 5.6 指定版本 平滑升级
- mysql 5.5以后的版本乱码
- Unity3d升级到4.2.1版本,无法生成Android包
- 手机升级版本到ios11导致无法调试
- AndroidStudio升级到2.2版本以后发生错误Error:Unable to start the daemon process.
- TortoiseSVN升级到1.6.9以后,大小写敏感的脚本无法再使用
- Mac升级到OS X10.10系统以后cocoapods无法正常使用
- 解决升级到Android Studio 3 Beta版本编译异常
- Emacs升级到24.4就无法编译cedet1.1了
- 关于android的adt升级到22以后unity不能编译的解决办法~
- 官方Character.unitypakge 升级到5.4以后出现shader编译问题
- 常用正则表达式
- 【zz】安装Android的Eclipse插件ADT遇到错误“requires 'org.eclipse.gef 0.0.0' but it could not be found”
- 谷歌不听话 书评
- 水晶报表设计(三)----PUSH模式(一)——转自肖锰的专栏
- Vista/Win7上WM_DROPFILES无法响应的解决办法
- mysql升级到5.5版本以后无法编译
- 虚函数讨论---vc&汇编
- 基于Powerdesigner 的数据库设计流程
- 编解码学习笔记(一):基本概念
- 水晶报表设计(三)----PUSH模式(二)——转自肖锰的专栏
- Controller Tools——场景类型介绍
- 水晶报表设计(四)----离散值、给水晶报表中多表赋值——转自肖锰的专栏
- sprintf函数用法
- Android学习笔记五