php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8844 -rpath is not used correctly, causing configure failure
Submitted: 2001-01-22 18:20 UTC Modified: 2001-10-23 06:47 UTC
From: long at kestrel dot cc dot ukans dot edu Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0.4pl1 OS: Compaq Tru64 4.0F PK3
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: long at kestrel dot cc dot ukans dot edu
New email:
PHP Version: OS:

 

 [2001-01-22 18:20 UTC] long at kestrel dot cc dot ukans dot edu
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.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-05-23 13:45 UTC] sniper@php.net
Could you please try the latest CVS?
It has libtool 1.4 which might fix this problem.

http://snaps.php.net/


--Jani

 [2001-05-24 09:31 UTC] long at kestrel dot cc dot ukans dot edu
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
 [2001-05-25 11:40 UTC] long at kestrel dot cc dot ukans dot edu
 It appears to me that php4-200105231339 does not use libtool within the configure script to do all its testing.
 [2001-05-26 01:26 UTC] long at kestrel dot cc dot ukans dot edu
Might as well close this but because you won't be able to fix it. Autoconf does *not* use libtool during the configure process. Every autoconf-generated configure script has this problem. it is not specific to PHP.

One workaround is to replace the system ld command with a wrapper that combines the -rpath arguments. We've created such a wrapper:
  http://freshmeat.net/projects/repld/

Other than that, pass LDFLAGS to configure with the appropriate "-Wl,-rpath,<path>:<path>" arguments.
 [2001-10-23 06:47 UTC] sniper@php.net
Closed per user request. And this is not exactly PHP bug.

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Tue May 06 11:01:30 2025 UTC