#43032 [Opn->Bgs]: installation of /usr/local/apache2/modules/libphp5.so fails
| From: | jani@php.net | Date: | Mon, 22 Oct 2007 08:19:17 +0000 |
| Subject: | #43032 [Opn->Bgs]: installation of /usr/local/apache2/modules/libphp5.so fails | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-118806@lists.php.net to get a copy of this message | ||
ID: 43032
Updated by: jani@php.net
Reported By: mamfelt at acm dot org
-Status: Open
+Status: Bogus
Bug Type: Apache2 related
Operating System: AIX 5.3 TL06
PHP Version: 5.2.4
New Comment:
See bug #39197
Previous Comments:
------------------------------------------------------------------------
[2007-10-19 10:43:51] mamfelt at acm dot org
Some more output (verbose output of the build command, and the libtool
--finish command). What surprises me is that libphp5.so seems to be
ignored, other than to remove it, and then try to chmod on it (which
fails because it isnt there)
michael@x054:[/home/michael/prj/php-5.2.4]ksh -x
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='>
+ test 3 != 3
+ + echo SH_LIBTOOL=/usr/local/apache2/build/libtool
+ sed -e s/^SH_LIBTOOL=//
SH_LIBTOOL=/usr/local/apache2/build/libtool
+ DSOARCHIVE=libphp5.la
+ + basename libphp5.la
DSOARCHIVE_BASENAME=libphp5.la
+ TARGETDIR=/usr/local/apache2/modules
+ + echo libphp5.la
+ sed -e s/\.la$//
DSOBASE=libphp5
+ TARGET_NAME=libphp5.so
+ + uname -s
SYS=AIX
+ test AIX = AIX
+ CMD=rm -f /usr/local/apache2/modules/libphp5.so
+ echo rm -f /usr/local/apache2/modules/libphp5.so
rm -f /usr/local/apache2/modules/libphp5.so
+ rm -f /usr/local/apache2/modules/libphp5.so
+ CMD=/usr/local/apache2/build/libtool --mode=install cp libphp5.la
/usr/local/apache2/modules/
+ echo /usr/local/apache2/build/libtool --mode=install cp libphp5.la
/usr/local/apache2/modules/
/usr/local/apache2/build/libtool --mode=install cp libphp5.la
/usr/local/apache2/modules/
+ /usr/local/apache2/build/libtool --mode=install cp libphp5.la
/usr/local/apache2/modules/
cp .libs/libphp5.a /usr/local/apache2/modules/libphp5.a
cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish
/home/michael/prj/php-5.2.4/libs'
+ test AIX = OS/2
+ + sed -n /^dlname=/{s/.*='\([^']*\)'/\1/;p;}
/usr/local/apache2/modules/libphp5.la
DLNAME=libphp5.so
+ + sed -n /^library_names/{s/library_names='\([^']*\)'/\1/;p;}
/usr/local/apache2/modules/libphp5.la
LIBRARY_NAMES=libphp5.a libphp5.a
+ + echo libphp5.a libphp5.a
+ sed -e s/ *libphp5.so//g
LIBRARY_NAMES=libphp5.a libphp5.a
+ test -z libphp5.so
+ test -n libphp5.a libphp5.a
+ rm -f /usr/local/apache2/modules/libphp5.a
+ rm -f /usr/local/apache2/modules/libphp5.a
+ test libphp5.so != libphp5.so
+ rm -f /usr/local/apache2/modules/libphp5.la
+ rm -f /usr/local/apache2/modules/libphp5.a
+ rm -f /usr/local/apache2/modules/liblibphp5.a
+ rm -f /usr/local/apache2/modules/liblibphp5.so
+ exit 0
===================
michael@x054:[/home/michael/prj/php-5.2.4]./libtool --finish
/home/michael/prj/php-5.2.4/libs
Libraries have been installed in:
/home/michael/prj/php-5.2.4/libs
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LIBPATH' environment variable
during execution
- use the `-Wl,-blibpath:LIBDIR:/usr/vac/lib:/usr/lib:/lib ' linker
flag
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
Thanks for your attention!
------------------------------------------------------------------------
[2007-10-19 10:21:39] mamfelt at acm dot org
Description:
------------
The last part of make install fails, no php5 libraries are installed
into /usr/lib/apache2/modules. Further, the file libs/libphp5.so is not
built either.
Note: regarding the following code: (in
/usr/local/apache2/build/instdso.sh)
if test "$SYS" = "AIX"
then
# on AIX, shared libraries remain in storage even when
# all processes using them have exited; standard practice
# prior to installing a shared library is to rm -f first
CMD="rm -f $TARGETDIR/$TARGET_NAME"
echo $CMD
$CMD || exit $?
fi
The command you should consider is:
slibclean (Shared Library Clean) to cleanup shared memory.
Reproduce code:
---------------
michael@x054:[/home/michael/prj/php-5.2.4]make install
echo '\
\
Installing PHP SAPI module: apache2handler
/usr/local/apache2/build/instdso.sh
SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la
/usr/local/apache2/modules
rm -f /usr/local/apache2/modules/libphp5.so
/usr/local/apache2/build/libtool --mode=install cp libphp5.la
/usr/local/apache2/modules/
cp .libs/libphp5.a /usr/local/apache2/modules/libphp5.a
cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish
/home/michael/prj/php-5.2.4/libs'
chmod 755 /usr/local/apache2/modules/libphp5.so
chmod: /usr/local/apache2/modules/libphp5.so: A file or directory in
the path name does not exist.
apxs:Error: Command failed with rc=65536
.
make: 1254-004 The error code from the last command is 1.
Stop.
Expected result:
----------------
The correct files installed in /usr/local/apache2/modules
Actual result:
--------------
michael@x054:[/home/michael/prj/php-5.2.4]ls -l libs
total 41152
-rw-r--r-- 1 root system 21062992 Oct 19 11:16 libphp5.a
-rw-r--r-- 1 root system 1209 Oct 19 11:16 libphp5.la
michael@x054:[/home/michael/prj/php-5.2.4]ls -l
/usr/local/apache2/modules
total 984
-rw-r--r-- 1 root system 8951 Oct 19 10:25 httpd.exp
-rwxr-xr-x 1 root system 90560 Oct 19 10:26 mod_cgi.so
-rwxr-xr-x 1 root system 64654 Oct 19 10:26
mod_headers.so
-rwxr-xr-x 1 root system 56795 Oct 19 10:26 mod_info.so
-rwxr-xr-x 1 root system 190456 Oct 19 10:27
mod_rewrite.so
-rwxr-xr-x 1 root system 40889 Oct 19 10:27
mod_speling.so
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43032&edit=1