Stephen Gran <[EMAIL PROTECTED]> writes: > This one time, at band camp, Russ Allbery said:
>> Oh, right, that's the problem. /usr/bin/perl doesn't use libperl >> itself and instead just exports the same symbols to any modules it >> loads. So if the module is linked with libperl, when the module is >> loaded by the Perl interpretor, it loads libperl into the same >> namespace, the Perl interpretor and libperl both define the same >> symbols, and the world explodes. > As I understand it, this is only the case on i386 - on other arches, > /usr/bin/perl links to libperl, although the modules don't. ...indeed. That's bizarre. Why is i386 different than all the other platforms? If /usr/bin/perl linked with libperl on every platform, we should be able to safely change modules to link with libperl without creating any problems. But right now, that change would probably break things on i386 in obscure and bizarre ways. (One of the standard nasty problems with multiple copies of the same symbols is that different versions of a function get called at different times and, when they use any static data, that static data is different between the different instances. It creates incredibly weird problems that are horrible to debug.) -- Russ Allbery ([EMAIL PROTECTED]) <http://www.eyrie.org/~eagle/> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]