aix 编译PHP-5.3.3问题
各位同仁,我再aix6.1上编译安装PHP-5.3.3总是报Undefined symbol ,用php各版本均报类似错误,下面是我的编译参数:( 系统环境安装了gcc ,xlc ,参数中各软件像apache、mysql等都已编译安装)CC=gcc CFLAGS="-I/usr/include“ LDFLAGS="-L/usr/lib” \
CPPFLAGS=$CFLAGS CXXFLAGS=$CFLAGS ./configure --prefix=/usr/local/php5.3.3 \
--with-apxs2=/usr/local/http/bin/apxs --with-zlib=/usr/local/zlib --with-zlib-dir=/usr/local/zlib \
--enable-ftp --with-mysql=/usr/local/mysql --with-mysql-sock=/usr/local/mysql/mysql.sock \
--enable-zip --with-gd=/usr/local/gd2.0.34 --with-jpeg-dir=/usr/local/jpeg \
--with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype2.3.9 \
--with-libxml-dir=/usr/local/libxml2 --with-mssql=/usr/local/freetds0.82 \
--with-unixODBC=/usr/local/unixodbc --disable-cgi
执行make (gunmake3.8.1) ,也用aix 自带的 make 均报错,CC=xlc 也试过,均报错,采用CC=gcc报错如下:
ld: 0711-224 WARNING: Duplicate symbol: .gdImageFilledEllipse
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: .__floatdidf
ld: 0711-317 ERROR: Undefined symbol: .__floatdisf
ld: 0711-317 ERROR: Undefined symbol: .__udivdi3
ld: 0711-317 ERROR: Undefined symbol: .__umoddi3
ld: 0711-317 ERROR: Undefined symbol: .__divdi3
ld: 0711-317 ERROR: Undefined symbol: .__fixsfdi
在网上也搜索到相关帖子,均没有找到解决的方法,像.__floatdidf 这个是什么函数库包含的也无法在网上找到答案。nm命令查找了libc.a 中确实没有上述的提示符号,恳请老农帮我一下。如果其他高手知道解决方法恳请帮我一下。谢谢! 编程我是外行 哥们,何必这么折腾,佩服你的勇气啊,划个lpar,装个power linux,不什么都有了? 细看了一下,应该是你没有gd库……
编译时候不要那么多参数,先用最少的,然后慢慢加上其他参数,可以定位问题。 power linux 5.2我有两台小机装的有,问题是,这个每年都要付费,只要不续费,就连软件下载都没有,因此,我要把另外的小机采用aix系统,而aix系统用作web服务器,在基于php的所能使用的软件包都很早的了,只有下载GPL一些的软件包进行编译安装,我对aix了解不多,这些软件在power linux上都能编译成功,而在aix上遇到了这个问题,也困扰我好几天了,有没有知道 .__floatdidf 和 .__udivdi3 这种是属于那种库的,我想知道这个就好办了。 GD库是已经安装了,并且我甚至将所有的编译安装的与 php 相关软件都加了指向路径,然而,还是未能解决问题,我想应该是缺少什么支持的库文件了。参数如下:
CC=gcc CFLAGS="-I/usr/include -I/opt/freeware/include -I/usr/local/mysql/include -I/usr/local/http/include \
-I/usr/local/zlib/include-I/usr/local/gd2.0.34/include -I/usr/local/jpeg/include -I/usr/local/libpng/include \
-I/usr/local/zlib/include -I/usr/local/freetype2.3.9/include -I/usr/local/libxml2/include -I/usr/local/freetds0.82/include \
-I/usr/local/unixodbc/include" LDFLAGS="-L/usr/lib -L/opt/freeware/lib -L/usr/local/mysql/lib -L/usr/local/http/lib \
-L/usr/local/zlib/lib -L/usr/local/gd2.0.34/lib -L/usr/local/jpeg/lib -L-I/usr/local/libpng/lib -L/usr/local/zlib/lib \
-L/usr/local/freetype2.3.9/lib -L/usr/local/libxml2/lib -L/usr/local/freetds0.82/lib -L/usr/local/unixodbc/lib" \
CPPFLAGS=$CFLAGS CXXFLAGS=$CFLAGS ./configure --prefix=/usr/local/php5.3.3 --with-apxs2=/usr/local/http/bin/apxs \
--with-zlib=/usr/local/zlib --with-zlib-dir=/usr/local/zlib --enable-ftp --with-mysql=/usr/local/mysql \
--with-mysql-sock=/usr/local/mysql/mysql.sock --enable-zip --with-gd=/usr/local/gd2.0.34 --with-jpeg-dir=/usr/local/jpeg \
--with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype2.3.9 --with-libxml-dir=/usr/local/libxml2 \
--with-mssql=/usr/local/freetds0.82 --with-unixODBC=/usr/local/unixodbc --disable-cgi 1,谁告诉你要付费了?你可以自己下rpm的src编译。
2,减少编译参数!减少参数!减少!
3,你还是让我吐血而亡吧:lu10: [url]ftp://ftp.redhat.com/redhat/linux/enterprise/5Server/en/os/SRPMS/[/url] 把LS的气死了?;P 呵呵,首先感谢 jiecho 兄弟!不要生气,我之所以说收费的是基于redhat官网,没有付费是不可能在其下载企业版的相关软件包,power linux 的软件包有些是不一样的,之所以这么说是我在编译时有时直接将在普通服务器上编译用过的软件包放到小机上是不能编译成功,而在官网下载针对的软件包就可以编译成功。当然,我没有认真研究过。 参数减少是排除编译问题的一个好方法,之前试过的,我没有说,在PHP-5.2.4直接跟 ./configure 是可以编译的,而采用PHP-5.3.3就不能,这次我主要是想研究下有什么不同,安装PHP-5.3.3需要哪些库支持。 我在 power linux 上用命令 ldd php ,对输出的库文件在用命令 nm -A 逐一查看函数符号,结果发现在 libm.so.6中含有__floatdidf 符号,在 aix 上用 find 命令没有找到 libm.so.6 ,我现在试着下载这个库到系统上再编译看看。
页:
[1]