http://qs321.pair.com?node_id=185760

schumi has asked for the wisdom of the Perl Monks concerning the following question:

Fellow Monks!

Either I'm daft, or I need my next week's holiday more desperately than I'd like to think.

I have installed Perl 5.8.0 on my machine (SuSe Linux 7.2), and most of it works fine. Except...

... except that when using XML::Parser (and some other modules, in fact), every script gives the following error and dies:

/usr/bin/perl: error while loading shared libraries: /usr/lib/perl5/site_perl/5.8.0/i586-linux/auto/XML/Parser/Expat/Expat. +so: undefined symbol: Perl_safemalloc

I have searched both PM and the internet for a solution, but so far nothing has come up. I feel that somehow I forgot, or broke, something during compiling, but I can't see what.

Maybe I should just have used a prebuilt Perl...

Humbly seeking enlightenment,

--cs

There are nights when the wolves are silent and only the moon howls. - George Carlin

Replies are listed 'Best First'.
Re: Undefined symbol: Perl_safemalloc
by mojotoad (Monsignor) on Jul 27, 2002 at 17:55 UTC
    5.8.0 broke some binary compatability. Your XS modules will have to be recompiled:

    The major reason for the discontinuity is the new IO architecture called PerlIO. PerlIO is the default configuration because without it many new features of Perl 5.8 cannot be used. In other words: you just have to recompile your modules containing XS code, sorry about that.

    The perldelta has more info.

    Matt

      What a day! My ISP seems to be up and running again, the weather outside is just brilliant, and someone has found an answer to my problem.

      Cheers, Matt!

      --cs

      There are nights when the wolves are silent and only the moon howls. - George Carlin