RPM Help Needed

Matthias Andree matthias.andree at gmx.de
Wed Dec 31 11:17:13 CET 2003


On Tue, 30 Dec 2003, David Relson wrote:

> Having recently upgraded my workstation from Mandrake 9.1 to 9.2, the
> rpms I build have a couple of Mandrake specific dependencies,
> i.e. perl(MIME::Parser), perl(POSIX), and perl(strict).  An rpm built
> with these dependencies won't load on older versions of Mandrake, for
> example 9.1.  I presume there will have comparable difficulty with
> other distributions.

...I just checked
ftp://ftp.leo.org/pub/comp/os/unix/linux/Mandrake/Mandrake/9.2/i586/Mandrake/RPMS/

to figure which GSL version Mandrake 9.2 uses: it's 1.4, a version not
shipped with any SuSE version (even SL 9.0 ships 1.3) - as GSL has no
specific package name and no usable version number (everything is just
libgsl.so.0), I'd suggest we use ./configure --with-included-gsl for the
RPM to avoid the external GSL dependency.

I am aware it is not how shared libraries are supposed to work, but if
the GSL maintainers don't play by the rules (they should be bumping the
library version each time the ABI changes), we have no other choice if
we want to avoid "bogofilter: relocation error: bogofilter: undefined
symbol: gsl_cdf_chisq_Q" - and this is what I get installing David's
RPMs on SuSE.

Default link:

$ ldd bogofilter
        libdb-4.1.so => /usr/local/BerkeleyDB.4.1//lib/libdb-4.1.so (0x40016000)
        libgsl.so.0 => /usr/local/lib/libgsl.so.0 (0x400c4000)
        libgslcblas.so.0 => /usr/local/lib/libgslcblas.so.0 (0x40205000)
        libm.so.6 => /lib/libm.so.6 (0x40232000)
        libc.so.6 => /lib/libc.so.6 (0x40255000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ size bogofilter
   text    data     bss     dec     hex filename
 104483    6092   19052  129627   1fa5b bogofilter

And here --with-included-gsl:

$ ldd bogofilter
        libdb-4.1.so => /usr/local/BerkeleyDB.4.1//lib/libdb-4.1.so (0x40016000)
        libm.so.6 => /lib/libm.so.6 (0x400c4000)
        libc.so.6 => /lib/libc.so.6 (0x400e6000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
$ size bogofilter
   text    data     bss     dec     hex filename
 149215   22992   19064  191271   2eb27 src/bogofilter

GSL costs approx. 62 kByte.

Linking DB statically increases the size by 500 kByte, not an option
IMO.

-- 
Matthias Andree

Encrypt your mail: my GnuPG key ID is 0x052E7D95




More information about the Bogofilter mailing list