./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吧。
--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/