RPM Help Needed
Matthias Andree
matthias.andree at gmx.de
Wed Dec 31 10:59:52 CET 2003
On Wed, 31 Dec 2003, Matthias Andree wrote:
> On Tue, 30 Dec 2003, David Relson wrote:
>
> > Can a requires say "db3 >= 3.3 or db4 >= 4.1" ?
>
> It can, but it won't work. Please list the exact version of your data
> base library as such, which is portable unless some debile packager
> renames the library (FreeBSD do):
>
> Requires: libdb-4.1.so
Oh, and no ">=" or "<=" games for libdb please - it won't work, the
SONAME is different so the linker will not find the library. Coercion
through LD_PRELOAD or such will also fails as the ABI is different,
distributors use --with-uniquename to that large applications can
(indirectly) link different BerkeleyDB versions, for instance, use 4.2
natively while relying on some authorization checker (password stuff)
that pulls 3.3 in by itself.
Remember, to find out the SONAME, you can use either
readelf -d libdb.so | grep SONAME
or
objdump -p libdb.so | grep SONAME
(cd to the library directory first). The SONAME is what is given in RPM
Requires: lines, by convention, and is what the RPM find-requires
scripts would pull out for libraries (find-requires actually runs ldd on
all dynamically linked executables).
--
Matthias Andree
Encrypt your mail: my GnuPG key ID is 0x052E7D95
More information about the Bogofilter
mailing list