PHP报错:?configure: error: Cannot find libmysqlclient

./configure    --prefix=/home/work/webserver/php  \
--with-config-file-path=/home/work/webserver/php/etc  --with-bz2  --with-curl  \
--enable-ftp  --enable-sockets  --disable-ipv6 \
--with-xsl \
--with-gd \
--with-jpeg-dir=/home/work/webserver/jpeg9/ \
--with-png-dir=/usr/local  \
--with-freetype-dir=/usr/local  --enable-gd-native-ttf  \
--with-iconv-dir=/usr/local  --enable-mbstring=all \
--enable-calendar  \
--with-gettext  --with-libxml-dir=/usr/local  --with-zlib  \
--with-mysql=/home/mysql/mysql \
--with-pdo-mysql=/home/mysql/mysql \
--with-mysqli=/home/mysql/mysql/bin/mysql_config \
--with-xpm-dir=/usr/lib64 \
--enable-soap \
--enable-dom  --enable-xml  --enable-fpm  --with-libdir=lib64  --enable-bcmath 


开始报找不到jepg的lib
后来又报gd的lib版本错误configure: error: Unable to find libgd.(a|so) >= 2.1.0 anywhere under /home/
更改了lib路径(64位系统,把/usr/lib链接到/usr/lib64)
又报mysql的错误
Note that the MySQL client library is not bundled anymore!
configure: error: Cannot find libmysqlclient under /home/mysql/mysql.

仔细看了configure的报错信息,发现好像 --with指定路径的都有点问题,像是路径没生效,思考了一下configure找寻lib的顺序,参数没问题啊~

再看了一遍参数,突然发现: --with-libdir=lib64  
这个参数就是罪魁祸首!!它会让configure去路径下的lib64里找lib而一遍我们二进制源码编译安装的软件,lib都是在路径下的lib目录的,而64位系统里,通过rpm、yum安装的软件包,会把lib安装到/usr/lib64下,这就是为什么--with指定路径的都有点问题,因为指定路径的都是二进制源码编译安装的软件。。。
这个参数耽误了我一下午的时间,都怪自己不去思考!
解决方法:
编译时去掉--with-libdir=lib64 ,如果需要系统包,就把二进制源码编译安装的软件立的lib链接一个lib64吧。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14184018/viewspace-1692424/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14184018/viewspace-1692424/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值