[PHP-DEV] Bug #8844 Updated: -rpath is not used correctly, causing configure failure From: long <email protected>
Date: 05/24/01

ID: 8844
User Update by: long <email protected>
Old-Status: Feedback
Status: Open
Bug Type: Compile Failure
Operating system: Compaq Tru64 4.0F PK3
PHP Version: 4.0.4pl1
Description: -rpath is not used correctly, causing configure failure

php4-200105231339 still suffers from the same problem. It tries to do:

cc -o conftest -O2 -std1 -taso -Wl,-rpath,/usr/local/ssl/lib -L/usr/local/ssl/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/opt/java130/jre/lib/alpha/classic -L/usr/opt/java130/jre/lib/alpha/classic -Wl,-rpath,/usr/opt/java130/jre/lib/alpha/native_threads -L/usr/opt/java130/jre/lib/alpha/native_threads -Wl,-rpath,/usr/opt/java130/jre/lib/alpha -L/usr/opt/java130/jre/lib/alpha -Wl,-rpath,/usr/local/ldap/lib -L/usr/local/ldap/lib -Wl,-rpath,/usr/local/mysql/lib/mysql -L/usr/local/mysql/lib/mysql -Wl,-rpath,/home/oracle/u01/app/oracle/product/8.0.5/lib -L/home/oracle/u01/app/oracle/product/8.0.5/lib conftest.c -lclntsh -lpsa -lcore4 -lnlsrtl3 -lm -laio -lrt -lmld -lexc -lclntsh -lpsa -lcore4 -lnlsrtl3 -lm -laio -lrt -lmld -lexc -lm -lmysqlclient -lldapssl30 -ljava -lgd -lttf -lssl -lcrypto -lresolv -lm -lresolv

and the Compaq C compiler wants all rpath's passed in a single -Wl, similar to:

-Wl,-rpath,/usr/local/ssl/lib:/usr/local/lib:/usr/opt/java130/jre/lib/alpha/classic:/usr/opt/java130/jre/lib/alpha/native_threads:/usr/opt/java130/jre/lib/alpha:/usr/local/ldap/lib

Previous Comments:
---------------------------------------------------------------------------

[2001-05-23 13:45:21] sniper <email protected>
Could you please try the latest CVS?
It has libtool 1.4 which might fix this problem.

http://snaps.php.net/

--Jani

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

[2001-01-22 18:20:54] long <email protected>
env CFLAGS=-taso CC=cc ./configure --with-openssl --enable-bcmath --with-ndbm --with-dbm --enable-dbase --enable-filepro --enable-ftp --enable-gd-imgstrttf --with-gd --with-ttf --with-java=/usr/opt/java130 --with-ldap=/usr/local/ldap --with-mysql --with-oci8 --with-oracle --enable-shmop --enable-sockets --with-swf --enable-sysvsem --enable-sysvshm --enable-wddx --enable-memory-limit --enable-dba=shared --enable-calendar --enable-exif

was the configure line.

DEC C V5.9-010 on Digital UNIX V4.0 (Rev. 1229)
/usr/bin/ld version 3.11

Failure occurs when trying to use multiple rpaths: for example, the configure script does:
cc -o conftest -taso -Wl,-rpath,/usr/local/ssl/lib -L/usr/local/ssl/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib -Wl,-rpath,/usr/opt/java130/jre/lib/alpha/classic -L/usr/opt/java130/jre/lib/alpha/classic -Wl,-rpath,/usr/opt/java130/jre/lib/alpha/native_threads -L/usr/opt/java130/jre/lib/alpha/native_threads -Wl,-rpath,/usr/opt/java130/jre/lib/alpha -L/usr/opt/java130/jre/lib/alpha -Wl,-rpath,/usr/local/ldap/lib -L/usr/local/ldap/lib -Wl,-rpath,/home/oracle/u01/app/oracle/product/8.0.5/lib -L/home/oracle/u01/app/oracle/product/8.0.5/lib conftest.c -lclntsh -lpsa -lcore4 -lnlsrtl3 -lm -laio -lrt -lmld -lexc -lclntsh -lpsa -lcore4 -lnlsrtl3 -lm -laio -lrt -lmld -lexc -lldapssl30 -ljava -lttf -lgd -lcrypto -lssl -lresolv -lm -lresolv

but running 'odump -D' on conftest shows that the only rpath stored in the binary is the last rpath shown above (i.e. /home/oracle/u01/app/oracle/product/8.0.5/lib). The only format the compaq compiler/linker seems to want is the following:

cc -o conftest -taso -Wl,-rpath,/usr/local/ssl/lib:/usr/local/lib:/usr/opt/java130/jre/lib/alpha/classic:/usr/opt/java130/jre/lib/alpha/native_threads:/usr/opt/java130/jre/lib/alpha:/usr/local/ldap/lib:/home/oracle/u01/app/oracle/product/8.0.5/lib -L/usr/local/ssl/lib -L/usr/local/lib -L/usr/opt/java130/jre/lib/alpha/classic -L/usr/opt/java130/jre/lib/alpha/native_threads -L/usr/opt/java130/jre/lib/alpha -L/usr/local/ldap/lib -L/home/oracle/u01/app/oracle/product/8.0.5/lib conftest.c -lclntsh -lpsa -lcore4 -lnlsrtl3 -lm -laio -lrt -lmld -lexc -lclntsh -lpsa -lcore4 -lnlsrtl3 -lm -laio -lrt -lmld -lexc -lldapssl30 -ljava -lttf -lgd -lcrypto -lssl -lresolv -lm -lresolv

Note that all the rpath's are passed in as 1 argument. When 'odump -D' is ran on the resulting binary it shows that all the rpath directories are properly stored in it.

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

Full Bug description available at: http://bugs.php.net/?id=8844

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
For additional commands, e-mail: php-dev-help <email protected>
To contact the list administrators, e-mail: php-list-admin <email protected>