Bug 43012 - AIX instdso.sh libphp5.so
Summary: AIX instdso.sh libphp5.so
Status: RESOLVED LATER
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: Build (show other bugs)
Version: 2.2.23
Hardware: Other AIX
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords: MassUpdate
Depends on:
Blocks:
 
Reported: 2007-08-02 00:01 UTC by jeremy jacque
Modified: 2018-11-07 21:08 UTC (History)
2 users (show)



Attachments
Patch to instdso.sh to handle extracting .so files from libtool libraries on AIX and other platforms where libtool installs a .a (841 bytes, patch)
2008-02-27 09:50 UTC, Chris Dukes
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jeremy jacque 2007-08-02 00:01:34 UTC
Hi, i'm reporting here cause when trying a "gmake install" in PHP source tree i
get this:

Installing PHP SAPI module:       apache2handler
/patch/php/apache/build/instdso.sh SH_LIBTOOL='/patch/php/apache/build/libtool'
libphp5.la /patch/php/apache/modules
rm -f /patch/php/apache/modules/libphp5.so
/patch/php/apache/build/libtool --mode=install cp libphp5.la
/patch/php/apache/modules/
cp .libs/libphp5.a /patch/php/apache/modules/libphp5.a
cp .libs/libphp5.lai /patch/php/apache/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish
/patch/php/php-5.2.3/libs'
chmod 755 /patch/php/apache/modules/libphp5.so
chmod: /patch/php/apache/modules/libphp5.so: A file or directory in the path
name does not exist.
apxs:Error: Command failed with rc=65536
.
gmake: *** [install-sapi] Error 1


And after commenting those lines in apache/build/instdso.sh, all work fine :

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

If you need some number versions of the tools i use, please let me know.
Thanks
Comment 1 Jim Jagielski 2007-08-03 08:14:21 UTC
Not an Apache bug
Comment 2 Nick Kew 2007-08-03 09:00:22 UTC
Jim, the reference to PHP is a red herring.  He's pointing to /instdso.sh, which
*is* an apache matter.

Needs someone who knows AIX to look.
Comment 3 Michael Felt 2007-10-25 05:44:45 UTC
Glad you noticed the red herring (php) as I was complaining about being called
bogus on this!

The starting situation on my system is:

michael@x054:[/home/michael/prj/php-5.2.4]ls -l *la
-rw-r--r--   1 root     system         1208 Oct 25 13:49 libphp5.la
------------------------------------------------------------------------
michael@x054:[/home/michael/prj/php-5.2.4]cat libphp5.la
# libphp5.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.5.20 (1.1220.2.287 2005/08/31 18:54:15)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libphp5.so'

# Names of this library.
library_names='libphp5.a libphp5.a'

# The name of the static archive.
old_library=''

# Libraries that this one depends upon.
dependency_libs=' -lz -lssl -lcrypto -lz -lssl -lcrypto -lm -liconv -lm -liconv
-lm -liconv -lm -liconv -lm -liconv -lm -liconv -lm -L/usr/local/lib
-L/usr/local/ssl/lib -L/usr/local/mysql/lib -lrt -lmysqlclient
/usr/local/lib/libfreetype.la -lz /usr/local/lib/libpng.la -lz -lm -lz -ljpeg
-lssl -lcrypto -lz -lssl -lcrypto -lm -liconv -lm -liconv -lm -liconv -lm
-liconv -lm -liconv -lm /usr/local/lib/libxml2.la -lpthread -liconv -lm -liconv -lm'

# Version information for libphp5.
current=0
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/home/michael/prj/php-5.2.4/libs'

--------------------

michael@x054:[/home/michael/prj/php-5.2.4]ls -l .libs libs
.libs:
total 81744
-rw-r--r--   1 root     system     21062992 Oct 25 13:49 libphp5.a
-rw-r--r--   1 root     system       105041 Oct 25 13:49 libphp5.exp
lrwxrwxrwx   1 root     system           13 Oct 25 13:49 libphp5.la -> ../libphp5.la
-rw-r--r--   1 root     system         1209 Oct 25 13:49 libphp5.lai
-rwxr-xr-x   1 root     system     20671264 Oct 25 13:49 libphp5.so

libs:
total 41152
-rw-r--r--   1 root     system     21062992 Oct 25 13:49 libphp5.a
-rw-r--r--   1 root     system         1209 Oct 25 13:49 libphp5.la

regards,
Michael


Comment 4 Michael Felt 2007-10-26 04:32:25 UTC
The real command being called by the PHP Makefile is:

INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/usr/local/apache2/modules' && $(m
kinstalldirs) '$(INSTALL_ROOT)/usr/local/apache2/conf' && /usr/local/apache2/bin
/apxs -S LIBEXECDIR='$(INSTALL_ROOT)/usr/local/apache2/modules' -S SYSCONFDIR='$
(INSTALL_ROOT)/usr/local/apache2/conf' -i -a -n php5 libphp5.la

## concluding lines of install-sapi:

        @echo "Installing PHP SAPI module:       $(PHP_SAPI)"
        @$(INSTALL_IT)

apxs is calling instdso.sh

For debug information I added:
CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
echo Starting: $CMD
ksh -x $CMD || exit $?
echo Finished: $CMD

The make install-sapi output now ends with:

+ print -r libtool: install: warning: remember to run `libtool --finish
/home/michael/prj/php-5.2.4/libs'
+ 1>& 2
libtool: install: warning: remember to run `libtool --finish
/home/michael/prj/php-5.2.4/libs'
+ test -n
+ exit 0
Finished: /usr/local/apache2/build/libtool --mode=install cp libphp5.la
/usr/local/apache2/modules/
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.
Comment 5 Michael Felt 2007-10-26 04:45:27 UTC
Thus, looking in apxs I find this piece of code I dont really want to mess with:

        #  use .so unambigiously for installed shared library modules
        $t =~ s|\.[^./\\]+$|\.so|;
        if ($opt_i) {
            push(@cmds, "$installbuilddir/instdso.sh SH_LIBTOOL='" .
                 "$libtool' $f $CFG_LIBEXECDIR");
            push(@cmds, "chmod 755 $CFG_LIBEXECDIR/$t");
        }

What I see isthat $t is being set to a .so file always, and on AIX, it isn't
there, and chmod fails.

Hope this helps get this resolved!
Comment 6 Chris Dukes 2008-02-27 09:50:55 UTC
Created attachment 21596 [details]
Patch to instdso.sh to handle extracting .so files from libtool libraries on AIX and other platforms where libtool installs a .a
Comment 7 Chris Dukes 2008-02-27 09:52:53 UTC
(In reply to comment #6)
The long term solution is to approach the libtool developers on providing an option for libtool to provide the .so instead of the .a on platforms such as AIX.
Comment 8 Aaron 2008-07-05 22:39:35 UTC
Hi,

I met the similar problem when I configure mod_jk.so.Detail is :
https://issues.apache.org/bugzilla/show_bug.cgi?id=45346

I use the instdso.sh patch but I'm still failed.When I make the jk,geting the following errors:

(cd /home/viador/apache2.0.59/tomcat-connectors-1.2.23-src/native/apache-2.0 &&
ar x mod_jk.a mod_jk.so)
ar: 0707-109 Member name mod_jk.so does not exist.
make: 1254-004 The error code from the last command is 1.

Regards,
Aaron
Comment 9 Michael Felt 2009-10-04 13:43:20 UTC
(In reply to comment #7)
> (In reply to comment #6)
> The long term solution is to approach the libtool developers on providing an
> option for libtool to provide the .so instead of the .a on platforms such as
> AIX.

How do you change the libtool version in a build. I suspect I have a new problem concerning libtool. The configure and make process works fine when using AIX 5.3, but on AIX 6.1 I am not getting .so files in the modules directory (but am getting .slo - is this an expected result).

I am hoping this problem with AIX 6.1 would be resolved with a newer version of libtool in the package. -- I'll test it for you!

michael@x054:[/data/prj/httpd-2.2.14]srclib/apr/libtool --version
ltmain.sh (GNU libtool) 1.5.26 (1.1220.2.492 2008/01/30 06:40:56)

Copyright (C) 2008  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Comment 10 Ruediger Pluem 2009-10-04 14:09:23 UTC
Set your PATH such that your new libtool binary appears before the system one and then call buildconf in the root of the unpacked httpd.tar.gz. Keep in mind that you require Python on your box to do this.
Comment 11 Michael Felt 2012-09-29 15:21:56 UTC
Still having the same issues - libraries are being deleted ALWAYS
I added 
set -x to instdso.sh to follow what is happening

Aded some debug info as follows:
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

CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
echo $CMD
$CMD || exit $?
echo "DEBUG INFO Added" ===========
ls -l  $DSOARCHIVE $TARGETDIR/
echo ==============

if test "$SYS" = "OS/2"
then
    # on OS/2, aplibtool --install doesn't copy the .la files & we can't
    # rename DLLs to have a .so extension or they won't load so none of the
    # steps below make sense.

So now it is easy to verify what 
CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
echo $CMD
$CMD || exit $?
actually does.

Farther down seems to be the logic error:

if test "$DLNAME" != "$TARGET_NAME"
then
    mv $TARGETDIR/$DLNAME $TARGETDIR/$TARGET_NAME
fi

rm -f $TARGETDIR/$DSOARCHIVE_BASENAME
rm -f $TARGETDIR/$DSOBASE.a
rm -f $TARGETDIR/lib$DSOBASE.a
rm -f $TARGETDIR/lib$TARGET_NAME

from the output below it seems $DLNAME and $TARGET_NAME are the same, so the move never occurs - and the file is not there to be chmoded

==========================================

root@x104:[/data/prj/php/php-5.3.17]make INSTALL_ROOT=/var/tmp/root/php-5.3.17.0 install
Installing PHP SAPI module:       apache2handler
/var/httpd/build/instdso.sh SH_LIBTOOL='/var/apr/build-1/libtool' libphp5.la /var/tmp/root/php-5.3.17.0/opt/httpd/libexec
+ test 3 != 3
+ + echo SH_LIBTOOL=/var/apr/build-1/libtool
+ sed -e s/^SH_LIBTOOL=//
SH_LIBTOOL=/var/apr/build-1/libtool
+ DSOARCHIVE=libphp5.la
+ + basename libphp5.la
DSOARCHIVE_BASENAME=libphp5.la
+ TARGETDIR=/var/tmp/root/php-5.3.17.0/opt/httpd/libexec
+ + sed -e s/\.la$//
+ echo libphp5.la
DSOBASE=libphp5
+ TARGET_NAME=libphp5.so
+ + uname -s
SYS=AIX
+ test AIX = AIX
+ CMD=rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so
+ echo rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so
rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so
+ rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so
+ CMD=/var/apr/build-1/libtool --mode=install cp libphp5.la /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/
+ echo /var/apr/build-1/libtool --mode=install cp libphp5.la /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/
/var/apr/build-1/libtool --mode=install cp libphp5.la /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/
+ /var/apr/build-1/libtool --mode=install cp libphp5.la /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/
libtool: install: cp .libs/libphp5.a /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.a
libtool: install: cp .libs/libphp5.lai /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.la
libtool: install: warning: remember to run `libtool --finish /data/prj/php/php-5.3.17/libs'
+ echo DEBUG INFO Added ===========
DEBUG INFO Added ===========
+ ls -l libphp5.la /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/
-rw-r--r-- 1 root system 1199 Sep 28 19:16 libphp5.la

/var/tmp/root/php-5.3.17.0/opt/httpd/libexec/:
total 28444
-rw-r--r-- 1 root system 29114841 Sep 29 17:04 libphp5.a
-rw-r--r-- 1 root system     1200 Sep 29 17:04 libphp5.la
+ echo ==============
==============
+ test AIX = OS/2
+ + sed -n /^dlname=/{s/.*='\([^']*\)'/\1/;p;} /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.la
DLNAME=libphp5.so
+ + sed -n /^library_names/{s/library_names='\([^']*\)'/\1/;p;} /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/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 /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.a
+ rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.a
+ test libphp5.so != libphp5.so ## FAILED TEST I am guessing 
# if test "$DLNAME" != "$TARGET_NAME"
# then
#    mv $TARGETDIR/$DLNAME $TARGETDIR/$TARGET_NAME
#fi
+ rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.la
+ rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.a
+ rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/liblibphp5.a
+ rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/liblibphp5.so
+ exit 0
chmod 755 /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so
chmod: cannot access `/var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so': A file or directory in the path name does not exist.
apxs:Error: Command failed with rc=65536
.
make: *** [install-sapi] Error 1
root@x104:[/data/prj/php/php-5.3.17]
Comment 12 Michael Felt 2012-09-29 15:31:57 UTC
Just a hack - but it gets it done.

if test -z "$DLNAME"
then
  echo "Warning!  dlname not found in $TARGETDIR/$DSOARCHIVE_BASENAME."
  echo "Assuming installing a .so rather than a libtool archive."
  exit 0
fi
## PATHC ## HACK
[[ -e  $TARGETDIR/$DSOBASE.a && ! -e  $TARGETDIR/$TARGET_NAME ]] && \
        mv  $TARGETDIR/$DSOBASE.a $TARGETDIR/$TARGET_NAME      
## END
if test -n "$LIBRARY_NAMES"
then
    for f in $LIBRARY_NAMES
    do
        rm -f $TARGETDIR/$f
    done
fi
Comment 13 Michael Felt 2012-10-05 12:57:49 UTC
This is something taht has been here for years - would be good to get it settled.

perhaps having the environment before/after would help!

root@x104:[/tmp/httpd/build]diff -u *.st*
--- instdso.9502830.start       2012-10-05 14:43:35 +0200
+++ instdso.9502830.stop        2012-10-05 14:43:37 +0200
@@ -1,7 +1,12 @@
 AUTHSTATE=compat
 CLCMD_PASSTHRU=1
+CMD='/var/apr/build-1/libtool --mode=install cp libphp5.la /var/tmp/root/php-RC1.0.0.0/opt/httpd/libexec/'
+DLNAME=libphp5.so
+DSOARCHIVE=libphp5.la
+DSOARCHIVE_BASENAME=libphp5.la
+DSOBASE=libphp5
 EDITOR=/usr/bin/vi
-ERRNO=25
+ERRNO=2
 FCEDIT=/usr/bin/ed
 HOME=/
 IFS='  
@@ -9,7 +14,8 @@
 INSTALL_ROOT=/var/tmp/root/php-RC1.0.0.0
 LANG=en_US
 LC__FASTMSG=true
-LINENO=29
+LIBRARY_NAMES='libphp5.a libphp5.a'
+LINENO=104
 LOCPATH=/usr/lib/nls/loc
 LOGIN=root
 LOGNAME=root
@@ -29,14 +35,19 @@
 PS3='#? '
 PS4='+ '
 PWD=/data/prj/php/php-RC1-5.3.18
-RANDOM=30138
-SECONDS=0
+RANDOM=11335
+SECONDS=2
 SHELL=/usr/bin/ksh
+SH_LIBTOOL=/var/apr/build-1/libtool
 SSH_CLIENT='192.168.129.45 54211 22'
 SSH_CONNECTION='192.168.129.45 54211 192.168.129.104 22'
 SSH_TTY=/dev/pts/0
+SYS=AIX
+TARGETDIR=/var/tmp/root/php-RC1.0.0.0/opt/httpd/libexec
+TARGET_NAME=libphp5.so
 TERM=vt100
 TMOUT=0
 TZ=Europe/Amsterdam
 USER=root
-_=/tmp/httpd/build
+_=/var/tmp/root/php-RC1.0.0.0/opt/httpd/libexec/liblibphp5.so
+f=libphp5.a
root@x104:[/tmp/httpd/build]

===
please note: to get this to work at all I have added the HACK

if test -z "$DLNAME"
then
  echo "Warning!  dlname not found in $TARGETDIR/$DSOARCHIVE_BASENAME."
  echo "Assuming installing a .so rather than a libtool archive."
  exit 0
fi

# HACK to move .a archive to .so archive
[[ -e  $TARGETDIR/$DSOBASE.a && ! -e  $TARGETDIR/$TARGET_NAME ]] && \
        mv  $TARGETDIR/$DSOBASE.a $TARGETDIR/$TARGET_NAME
# end HACK

if test -n "$LIBRARY_NAMES"
then
    for f in $LIBRARY_NAMES
    do
        rm -f $TARGETDIR/$f
    done
fi
Comment 14 Michael Felt 2013-01-03 14:56:20 UTC
This is problem that will not go away... And, I am thinking it is actually an apr bug, not httpd.

And this seems to be related to make install in a DESTDIR.

In php-X.Y.Z/Makefile

I am calling apxs, that calls instdso.sh, that calls ../apr/build-1/libtool

I modified instdso.sh (restored the 'original' from httpd-2.2.x aka 2.2.24) with
root@x104:[/data/prj/httpd/httpd-2.2.x]diff -u build/instdso.sh /var/httpd/build/instdso.sh                                 
--- build/instdso.sh    2012-08-31 12:41:37 +0200
+++ /var/httpd/build/instdso.sh 2013-01-03 15:41:43 +0100
@@ -49,9 +49,15 @@
     $CMD || exit $?
 fi
 
-CMD="$SH_LIBTOOL --mode=install cp $DSOARCHIVE $TARGETDIR/"
-echo $CMD
+CMD="$SH_LIBTOOL --debug --mode=install cp $DSOARCHIVE $TARGETDIR/"
+echo ==============@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++ >`tty`
+echo CMD: $CMD >`tty`
+echo ==============@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++ >`tty`
 $CMD || exit $?
+CMD="ls -l $DSOARCHIVE $TARGETDIR/"
+echo ============== R E S U L T @@@@@@@@@@@@@@@@+++++++++++++++++++++++ >`tty`
+echo CMD: $CMD >`tty`
+echo ============== R E S U L T @@@@@@@@@@@@@@@@+++++++++++++++++++++++ >`tty`
 
 if test "$SYS" = "OS/2"
 then


My result is:
/var/httpd/build/instdso.sh SH_LIBTOOL='/var/apr/build-1/libtool' libphp5.la /var/tmp/root/php-5.3.20.0/opt/httpd/libexec
==============@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++
CMD: /var/apr/build-1/libtool --debug --mode=install cp libphp5.la /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
==============@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++
+ test 4 -gt 0
+ opt=--mode=install
+ shift
+ func_split_long_opt --mode=install
+ set dummy --mode install cp libphp5.la /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
+ shift
+ test 5 -gt 0
+ opt=--mode
+ shift
+ test 4 = 0
+ optarg=install
+ opt_mode=install
+ shift
+ test 3 -gt 0
+ opt=cp
+ shift
+ set dummy cp libphp5.la /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
+ shift
+ break
+ test 3 -gt 0
+ nonopt=cp
+ shift
+ test set -x = :
+ preserve_args= --debug
+ opt_duplicate_compiler_generated_deps=false
+ false
+ func_check_version_match
+ test yes != yes
+ eval std_shrext=".so"
+ std_shrext=.so
+ test -n 
+ generic_help=Try `libtool --help' for more information.
+ help=Try `libtool --help --mode=install' for more information.
+ : 1
+ to_host_path_cmd=
+ false
+ test install = compile
+ false
+ test install = execute
+ test install = finish
+ test install = install
+ func_mode_install libphp5.la /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
+ test cp = /bin/sh
+ test cp = /bin/sh
+ false
+ install_prog=
+ arg=cp
+ func_quote_for_eval cp
+ install_prog=cp
+ install_shared_prog=cp
+ install_cp=:
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=no
+ stripme=
+ no_mode=:
+ arg2=
+ test -n 
+ test -n 
+ dest=libphp5.la
+ continue
+ arg2=
+ test -n libphp5.la
+ files= libphp5.la
+ dest=/var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
+ continue
+ test -z cp
+ test -n 
+ test -n 
+ test -z  libphp5.la
+ func_stripname  / /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
+ dest=/var/tmp/root/php-5.3.20.0/opt/httpd/libexec
+ test -d /var/tmp/root/php-5.3.20.0/opt/httpd/libexec
+ isdir=yes
+ test yes = yes
+ destdir=/var/tmp/root/php-5.3.20.0/opt/httpd/libexec
+ destname=
+ libtool_install_magic=%%%MAGIC variable%%%
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ func_resolve_sysroot libphp5.la
+ file=libphp5.la
+ func_lalib_unsafe_p libphp5.la
+ library_names=
+ old_library=
+ relink_command=
+ func_source libphp5.la
+ . ./libphp5.la
+ dlname=libphp5.so
+ library_names=libphp5.a libphp5.a
+ old_library=
+ dependency_libs= -lrt -liconv -lz -lz -lcrypto -lcrypto -lrt -lm -liconv -lm -liconv -lm -liconv -lm -liconv -lm -liconv -lm -liconv -lm -L/opt/lib -lrt -liconv /opt/lib/libgmp.la /opt/lib/libintl.la -liconv -lc /opt/lib/libfreetype.la -lz -lX11 -lXpm /opt/lib/libpng.la -lz -lm -lz -ljpeg -lz -lcrypto -lssl -lcrypto -lrt -lm -liconv -lm -liconv -lm -liconv -lm -liconv -lm -liconv -lm /opt/lib/libxml2.la -lpthread -liconv -lm -liconv -lm
+ current=0
+ age=0
+ revision=0
+ installed=no
+ shouldnotlink=yes
+ dlopen=
+ dlpreopen=
+ libdir=/data/prj/php/php-5.3.20/libs
+ test X/var/tmp/root/php-5.3.20.0/opt/httpd/libexec = X/data/prj/php/php-5.3.20/libs
+ future_libdirs= /data/prj/php/php-5.3.20/libs
+ func_dirname libphp5.la / 
+ dir=
+ dir=.libs
+ test -n 
+ set dummy libphp5.a libphp5.a
+ shift
+ test -n libphp5.a
+ realname=libphp5.a
+ shift
+ srcname=libphp5.a
+ test -n 
+ func_show_eval cp .libs/libphp5.a /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/libphp5.a exit $?
+ tstripme=
+ test -n 
+ test 1 -gt 0
+ test libphp5.a != libphp5.a
+ lib=/var/tmp/root/php-5.3.20.0/opt/httpd/libexec/libphp5.a
+ func_execute_cmds  exit $?
+ save_ifs=     

+ IFS=~
+ IFS=  

+ func_basename libphp5.la
+ name=libphp5.la
+ instname=.libs/libphp5.lai
+ func_show_eval cp .libs/libphp5.lai /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/libphp5.la exit $?
+ test -n 
+ test -n  /data/prj/php/php-5.3.20/libs
+ func_warning remember to run `libtool --finish /data/prj/php/php-5.3.20/libs'
libtool: install: warning: remember to run `libtool --finish /data/prj/php/php-5.3.20/libs'
+ test -n 
+ exit 0
============== R E S U L T @@@@@@@@@@@@@@@@+++++++++++++++++++++++
CMD: ls -l libphp5.la /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/
============== R E S U L T @@@@@@@@@@@@@@@@+++++++++++++++++++++++
chmod 755 /var/tmp/root/php-5.3.20.0/opt/httpd/libexec/libphp5.so
chmod: cannot access `/var/tmp/root/php-5.3.20.0/opt/httpd/libexec/libphp5.so': A file or directory in the path name does not exist.
apxs:Error: Command failed with rc=65536
.
make: *** [install-sapi] Error 1
make install returned an error
===========
Not sure what the command above should be doing, but the contents of .libs is:

root@x104:[/data/prj/php/php-5.3.20]ls -l .libs
total 56732
-rw-r--r-- 1 root system 29144491 Jan  3  2013 libphp5.a
-rw-r--r-- 1 root system   127810 Jan  3  2013 libphp5.exp
lrwxrwxrwx 1 root system       13 Jan  3  2013 libphp5.la -> ../libphp5.la
-rw-r--r-- 1 root system     1200 Jan  3  2013 libphp5.lai
-rwxr-xr-x 1 root system 28785709 Jan  3  2013 libphp5.so
root@x104:[/data/prj/php/php-5.3.20]ar tv .libs/libphp5.a
rwxr-xr-x     0/0     28785709 Jan 03 15:53 2013 libphp5.so


Suggestions! e.g., a new bug in APR? or is it ultimately "libtool" that is failing?
Comment 15 Michael Felt 2013-01-03 15:03:57 UTC
btw: applying the patch from 2008 does "fix it", in as much as the make install continues - but I think the real issue lies in either apr or libtool.
Comment 16 William A. Rowe Jr. 2018-11-07 21:08:46 UTC
Please help us to refine our list of open and current defects; this is a mass update of old and inactive Bugzilla reports which reflect user error, already resolved defects, and still-existing defects in httpd.

As repeatedly announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases. All reports older than 2.4.x have been updated to status RESOLVED/LATER; no further action is expected unless the report still applies to a current version of httpd.

If your report represented a question or confusion about how to use an httpd feature, an unexpected server behavior, problems building or installing httpd, or working with an external component (a third party module, browser etc.) we ask you to start by bringing your question to the User Support and Discussion mailing list, see [https://httpd.apache.org/lists.html#http-users] for details. Include a link to this Bugzilla report for completeness with your question.

If your report was clearly a defect in httpd or a feature request, we ask that you retest using a modern httpd release (2.4.33 or later) released in the past year. If it can be reproduced, please reopen this bug and change the Version field above to the httpd version you have reconfirmed with.

Your help in identifying defects or enhancements still applicable to the current httpd server software release is greatly appreciated.