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

Dear monks,

I have compiled a perl 5.8.9 (my OS is Ubuntu 9.0.4) using the commands:
./Configure -der -Uusedl -Dprefix=/usr make cp perl /home/perl/usr/bin miniperl installperl --destdir=/home/perl
make check succeeds in the perl directory. However when I try to run on a module perl Makefile.PL I get the following error:
export PERL5LIB=/home/perl/usr/lib/perl5/5.8.9 /home/perl/usr/bin/perl Makefile.PL PERL_LIB=/home/perl/usr/lib/perl5/5.8.9 PERL_ARCHLIB=/home/perl/usr/lib/perl5/5.8.9 INSTALLSITELIB=/home/perl/usr/lib/perl5/5.8.9 INSTALLSITEARCH=/home/perl/usr/lib/perl5/5.8.9 DESTDIR=/home/perl
I get:
Checking if your kit is complete... Looks good Can't locate object method "init_MAKE" via package "PACK001" at /home/perl/usr/lib/perl5/5.8.9/ExtUtils/MakeMaker.pm line 544.
Thanks in advance for your assistance,
Athanasia

Replies are listed 'Best First'.
Re: Perl MakeMaker error
by DrHyde (Prior) on Apr 30, 2009 at 09:54 UTC
    What happens if you build perl according to the instructions in the INSTALL file? Specifically ...
    ./Configure [your options] make make test make install
    instead of randomly copying files around, and if you also make the -Dprefix match what you actually appear to want, namely /home/perl/usr instead of /usr?

    And finally - -Uusedl turns dynamic loading off, so XS won't work unless you rebuild perl. That's gonna break things for you in the future.

Re: Perl MakeMaker error
by Anonymous Monk on Apr 29, 2009 at 18:24 UTC
    What module? Which version of ExtUtils::MakeMaker (pmvers ExtUtils::MakeMaker)?
      Hi,

      Thanks for your reply.
      The module is XML::Parser but it seems to be working fine when compiling it for my system's Perl, that is 5.10.0. However, I want to cross-compile it for Perl 5.8.9 which seems to cause the problem. The version of ExtUtils::MakeMaker is 6.48.

      Cheers,
      Athanasia