|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-08-16 13:04 UTC] rainer dot tammer at schulergroup dot com
Description: ------------ During the AIX build nm could not find the .o files. Reproduce code: --------------- export CC=cc_r export CXX=xlC_r ./configure \ --disable-ipv6 \ --with-libxml-dir=/usr/local \ --with-mysql=/usr/local/mysql \ --with-apxs=/usr/local/apache/bin/apxs \ --with-zlib=/opt/freeware \ --with-jpeg-dir=/opt/freeware \ --with-png-dir=/opt/freeware \ --with-gd \ --enable-gd-native-ttf \ --enable-mbstring \ --with-curl=/usr/local \ --enable-ftp Expected result: ---------------- On recent AIX systems the .o files are placed in .libs/xxx.o ./sapi/cgi/config9.m4 BUILD_CGI="... | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | ... -> change BUILD_CGI="... | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | ... ./sapi/cli/config.m4 BUILD_CLI="... | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | ... -> change BUILD_CLI="... | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | ... With the above changes (and a newly generated configre) the build completes withot errors. Is this an acceptable solution to the build problem ?? Bye Rainer Actual result: -------------- N/A PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 21:00:01 2025 UTC |
I have the same problem on AIX 5.2 with gcc when I compiled with --apxs and --enable-cli. However it does not cause any problems and it is just an annoyance. However, I will find out when I use phpize and build PECL extension to dynamically load into php under Apache 1.3. I believe (not yet proven) that I will have to insert the following line in config.m4 for PECL extensions: EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-bI:/usr/HTTPServer/libexec/libphp5.exp" And the first line of the libphp5.exp contains: #!/usr/HTTPServer/libexec/libphp5.so <followed by external symbols generated with nm> In order to have PECL extension loaded without causing Apache to core dump. I don't see libphp5.exp created and this is what we may need under AIX 5.2. Generally under AIX 4.x (not sure if its true of AIX 5.x) the dynamically loaded libraries need to reference other dynamically loaded libraries where they can resolve symbols (forward linking) by adding a header that you can inspect with dump -H. Example follows for oci8: $ dump -H oci8.so oci8.so: ***Loader Section*** Loader Header Information VERSION# #SYMtableENT #RELOCent LENidSTR 0x00000001 0x000000b0 0x000001a5 0x00000079 #IMPfilID OFFidSTR LENstrTBL OFFstrTBL 0x00000004 0x0000245c 0x00000ba6 0x000024d5 ***Import File Strings*** INDEX PATH BASE MEMBER 0 /ora01/app/oracle/product/8.1.7/lib:/usr/lib:/lib 1 libc.a shr.o 2 /usr/HTTPServer/libexec libphp4.so 3 libclntsh.a shr.o You see index number 2, the absolute path for libphp4.so is in /usr/HTTPServer/libexec. I hope this clears up somewhat. And I hope this issue will be fixed for AIX releases definitely (I feel that my config.m4 hack is not quite the right way to do it, through, but it works). Paul.Hello, with my suggested patch to the two configure files the errors will be gone. I have checked this on all 5.2.x releases. In sapi/cgi/config9.m4 and sapi/cli/config.m4 ... case $host_alias in *aix*) change ... sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` ... to ... sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` ... Do not forget to call utoconf to regenerate the configure script after the change. It looks like you only need this patch if you user the --with-apxs configure switch. Bye Rainer