[Opendnssec-user] Problem with custom sqlite install path (was Re: CentOS RPM distribution)
vmattila at csc.fi
Tue Apr 13 08:29:44 UTC 2010
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.
More information about the Opendnssec-user