Enrik Berkhan wrote:
You would never dlopen libperl.so. If you dlopen another package's shared library, you should always use versioned ones. Otherwise, you'll be trapped by every ABI change.
Then "perl ... ldopts" should print out the proper Perl library version number. It doesn't. It's broken.
The exact version of libperl.so.x.y that has to be used should be determined by autotools (may be with help by ExtMod:: stuff).
That's not how shared libraries should work. A system should have: libfoo.so.x.y libfoo.so.x -> libfoo.so.x.y libfoo.so -> libfoo.so.x When you say "-lfoo", the linker should pick "libfoo.so.x.y", OR "libfoo.so.x". Picking "libfoo.so" is broken.
Additionally, I didn't mean to integrate this in FreeRADIUS directly but to be considered by the Debian FreeRADIUS maintainers.
I've updated the configure scripts to NOT build rlm_perl if the module can't link. Alan DeKok.