Bug #63182 [Fbk->Opn]: make install to INSTALL_ROOT fails

From: Date: Thu, 09 Aug 2018 16:40:40 +0000
Subject: Bug #63182 [Fbk->Opn]: make install to INSTALL_ROOT fails
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-216701@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=63182&edit=1 ID: 63182 Updated by: cmb@php.net Reported by: mamfelt at gmail dot com Summary: make install to INSTALL_ROOT fails -Status: Feedback +Status: Open Type: Bug -Package: Testing related +Package: *Compile Issues Operating System: AIX PHP Version: 5.3.X,7.2.X,5.6.X -Assigned To: cmb +Assigned To: Block user comment: N Private report: N New Comment: Okay, thanks! Previous Comments: ------------------------------------------------------------------------ [2018-08-09 11:59:45] spam2 at rhsoft dot net @cmb@php.net: > Any particular reason why you don't configure --prefix because --prefix is a completly different world --prefix=/usr INSTALL_ROOT=/home/builduser/BUILDROOT/php nobody right in his mind does "make install" directly into the running system ------------------------------------------------------------------------ [2018-08-09 11:54:53] cmb@php.net Any particular reason why you don't configure --prefix (and friends; see ./configure --help)? ------------------------------------------------------------------------ [2018-02-15 18:47:14] mamfelt at gmail dot com still actual in 7.2.X, 5.6.X, etc. ------------------------------------------------------------------------ [2018-02-15 18:44:41] mamfelt at gmail dot com FYI: the step to correct the refusal to install (when everything else is working) is to not try to add to httpd.conf (as it does not exist in INSTALL_ROOT). as such, I manually edit Makefile, $INSTALL_IT and remove the "-a" flags to apxs. Then "make INSTALL_ROOT=/some/where/to/prep/for/packaging install" works. ------------------------------------------------------------------------ [2018-02-13 22:09:45] aixtools at felt dot demon dot nl Bother. Your protection - has bungled a difficult post. So, the short version: All the files are made: note the stand-alone .so file and the archive member have are "the same". root@x065:[/data/prj/php/php-7.2.2]ls -l .libs total 82216 -rw-r--r-- 1 root felt 21163709 Feb 13 21:15 libphp7.a -rw-r--r-- 1 root felt 145998 Feb 13 21:15 libphp7.exp lrwxrwxrwx 1 root felt 13 Feb 13 21:15 libphp7.la -> ../libphp7.la -rw-r--r-- 1 root felt 1096 Feb 13 21:15 libphp7.lai -rwxr-xr-x 1 root felt 20768010 Feb 13 21:15 libphp7.so root@x065:[/data/prj/php/php-7.2.2]ar tv .libs/libphp7.a rwxr-xr-x 0/1954 20768010 Feb 13 21:15 2018 libphp7.so On my server (and using xlc) the test here always fails (i.e., != yes) +99767 if test "$aix_use_runtimelinking" = yes; then +99768 # If using run time linking (on AIX 4.2 or later) use lib<name>.so +99769 # instead of lib<name>.a to let people know that these are not +99770 # typical AIX shared libraries. +99771 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +99772 else +99773 # We preserve .a as extension for shared libraries through AIX4.2 +99774 # and later when we are not doing run time linking. +99775 library_names_spec='${libname}${release}.a $libname.a' +99776 soname_spec='${libname}${release}${shared_ext}$major' +99777 fi And I expect this explains why the .la file always has the following lines: # libphp7.la - a libtool library file # Generated by ltmain.sh - GNU libtool 1.5.26 (1.1220.2.492 2008/01/30 06:40:56) # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libphp7.so' # Names of this library. library_names='libphp7.a libphp7.a' ***** Note: maybe this will go away when you update libtool in the php package: libtool-2.4.6.tar.xz 2015-02-16 05:16 950K compared with: [ ] libtool-1.5.26.tar.gz 2008-02-01 12:12 2.8M ***** Anyway, for the moment I fix this problem: rm -f /var/tmp/root/php-5.3.17.0/opt/httpd/libexec/libphp5.so /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' 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 with: +3190 # func_mode_install arg... +3191 func_mode_install () +3192 { +3193 $opt_debug +3194 # There may be an optional sh(1) argument at the beginning of +3195 # install_prog (especially on Windows NT). ... +3403 # See the names of the shared library. +3404 set dummy $library_names; shift +3405 if test -n "$1"; then +3406 realname="$1" +3407 shift +3408 modified to: +3403 # See the names of the shared library. +3404 set dummy $dlname $library_names; shift +3405 if test -n "$1"; then +3406 realname="$1" +3407 shift +3408 In short, this issue has been around for years - and it does not look like it is in apxs or apr - aka - apache software. It "feels" like it is some extremely dated configure.in code (developed in 2002-2008?) and very old version of libtool components. Hope this helps!! Michael ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=63182 -- Edit this bug report at https://bugs.php.net/bug.php?id=63182&edit=1

« previous php.bugs (#216701) next »