The Exim FAQ

Contents   Previous   Next

94. BSDI

Q9401:  On BSDI 4.0, Exim built with Perl support exits with the error message

   ./exim: can't load library 'libperl.so'

A9401:  You probably compiled perl5 yourself, without looking into

   /usr/src/contrib/perl5/perl5.004_02/hints/bsdos.sh

first. The problem is that the command

   perl5 -MExtUtils::Embed -e ldopts

doesn't give you sufficient flags to link something with libperl. Since 5.004_02 the hints/bsdos.sh file has changed to adapt to the changes between BSDI 3.1 and 4.0, but it is still not entirely right.

The solution is, when you compile perl, change the ccdlflags variable in config.sh to:

   -rdynamic -Wl,-rpath,/usr/local/lib/perl5/5.00502/i386-bsdos/CORE

(or something similar). Alternatively, you can run ./Configure and answering the question Any special flags to pass to cc to use dynamic loading? with the above line. It is not known what -rdynamic means (it's not apparently documented in any man page), but that's what BSDI guys did to compile perl5 which comes with BSDI 4.0 distribution.



Contents   Previous   Next