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

Hello, I am a Perl novice having started programming in Perl 1 month back. Seeking advice on the following:

We received a new patch on DEV that has some perl updates. Our current Perl version is 5.8.8.

We got the error : /usr/lib/dld.sl: Unresolved symbol: Perl_newXS_flags (code) from /lcts/qa/staging/perl5lib/lib/site_perl/5.8.8/PA-RISC1.1-thread-multi/auto/MIME/Base64/Base64 and we were unable to compile any of our perl programs.

The error is coming from a custom module on our system. The patch was rolled back and we’re trying to determine how to resolve so that we can move forward. I have been looking for a solution by going through various blog posts, but have not had any luck. Yesterday I came upon a post on the HP support website (our vendor) that the symbol in question (Perl_newXS_flags) is no longer supported. Unfortunately, the symbol is in all the “custom” perl modules… sigh. Would appreciate any inputs.

Replies are listed 'Best First'.
Re: Perl patch breaks custom module
by choroba (Cardinal) on Apr 13, 2017 at 21:19 UTC
    The "symbol" is in fact a C symbol (or XS). If your custom modules use XS, you need to recompile them if your underlying Perl version changed so drastically.

    ($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,
      Based on the error message, it appears that the "custom" module in question is MIME::Base64. Just reinstall it from CPAN.

        Since the OP has been at Perl a whole month, mayhaps an extra spoon is in order?

        Is it likely to be as easy as:

        ppm install MIME::Base64
        ppm update MIME::Base64

        ?

Re: Perl patch breaks custom module
by Anonymous Monk on Apr 13, 2017 at 21:16 UTC

    Our current Perl version is 5.8.8.

    Perl_newXS_flags was only introduced in 5.8.9

    Its a simple problem to solve, reinstall any modules that throw an error like this

      reinstall: command not found
      Please advice.

        reinstall: command not found Please advice.

        Repeat whatever commands you used to install modules, apt-get ... yum ... cpan ...