Bug#416266: freeradius: rlm_perl has symbol lookup errors when loading additional perl modules

Enrik Berkhan enrik#freeradius at planb.de
Thu Jul 5 17:30:16 CEST 2007


Stephen Gran schrieb:
> Thank you for this comprehensive review and investigation of the
> problem.  This is roughly what we arrived at as well.  Sadly, the best
> place for this to be fixed is in ltdl, and a request has been filed with
> them to add a function to call dlopen with RTDL_GLOBAL.  There is not
> much we can do now except wait (or use the bundled copy of libltdl in
> the freeradius source, which feels wrong to me as a distribution choice).

How about convincing the perl-packagers to compile their stuff to get
shared library dependencies on libperl into their .so's which would be
correct in my opinion (argh, maybe iff libperl.so is linked to rlm_perl
and not libperl.a ... sigh)

I could successfully do the following to test if such an dependency
would correct the problem (for Data::Dumper only, of course):

> # cd /usr/lib/perl/5.8/auto/Data/Dumper/
> # mv Dumper.so Dumper.so.orig
> # ld -shared -o Dumper.so /usr/lib/perl/5.8/auto/Data/Dumper/Dumper.so.orig -lperl

This effectively makes a new shared library consisting of the required
dependencies to load the original Dumper.so and libperl.so just for
testing and it works.

Maybe it would work to link libperl.a (statically) with rlm_perl to
workaround the problem? I haven't tried to, yet.

Enrik




More information about the Freeradius-Devel mailing list