Hi, On Mon, 12 Apr 2010, Ville Mattila wrote:
If I specify "configure --libdir=SOME_PATH" the ods-* binaries will be linked with RPATH set to SOME_PATH. This causes problems on RHEL 5 where rpmbuild needs to use "--libdir=/usr/lib64"; and that's where the official (and incompatible to opendnssec) sqlite runtime libraries sit.
Any dynamic linking experts around here? Thinking further, if I've understood correctly the purpose of RPATH in dynamic linking then certainly is nothing wrong with libtool adding $libdir in RPATH. On the contrary, $libdir probably has to be listed in RPATH for the linker to be able to find required opendnssec libraries should $libdir not be listed in e.g. /etc/ld.so.conf or $LD_LIBRARY_PATH. My question to OpenDNSSEC developers is that do you think "libtool --mode=link" calls should include also "-rpath $SQLITE3" argument where $SQLITE3 is the path specified by the user with "configure --with-sqlite3"? Without this I'm unable to see how runtime linker ever could locate the correct SQLite libraries that might reside elsewhere from $libdir. (And obviously adding $SQLITE3 to ld.so.conf is not an acceptable option because all other programs runtime linked to SQLite would end up using the custom libraries as well.) BTW, a workaround for this could be hide the actual opendnssec binaries under e.g. /usr/libexec/opendnssec/ and create (a) generic wrapper shell script(s) into /usr/bin/ and /usr/sbin/ that export(s) LD_LIBRARY_PATH=$SQLITE3 before exec'ing the actual binary. Ville _______________________________________________ Opendnssec-user mailing list [email protected] https://lists.opendnssec.org/mailman/listinfo/opendnssec-user
