in reply to IO Module failed to load with error undefined symbol: PL_curpad

Though I can't tell you a workaround, I suspect that the Perl installation on your Ubuntu system is broken. I googled for PL_curpad, and found that it is supposed to be defined within Perl (see for example http://cpansearch.perl.org/src/NWCLARK/perl-5.8.9/pad.c or http://linux.about.com/library/cmd/blcmdl1_perlintern.htm. Did you compile Perl there by yourself? Also, it might be worth doing a recursive grep on the source files of Perl 5.8.8 to see where PL_curpad is supposed to be defined, and compare this file to the 5.8.9 version.

-- 
Ronald Fischer <ynnor@mm.st>
  • Comment on Re: IO Module failed to load with error undefined symbol: PL_curpad
  • Download Code

Replies are listed 'Best First'.
Re^2: IO Module failed to load with error undefined symbol: PL_curpad
by Anonymous Monk on Jun 22, 2009 at 13:38 UTC

      Hmmm.... the grep on 5.8.9 shows that PL_curpad is #defineed. If you get the error "symbol missing" for this name, this means that one of the generated files does not see the header file where this symbol is defined. Further, it means that a K&R (i.e. non-ANSI) C compiler has been used, otherwise this would have failed already when making Perl.

      Just a wild guess: Since the differences between 5.8.8 and 5.8.9 are huge WRT PL_curpad, could it be that Perl on your Ubuntu machine somehow (maybe via PERL5LIB) finds a version of that module which had been compiled for a different platform? Did you try to recreate Perl from scratch, from the sources?

      -- 
      Ronald Fischer <ynnor@mm.st>