3

Several perl packages stopped working after upgrade from 12.04 to 14.04.

For example, cpan gives me:

Attempt to reload Scalar/Util.pm aborted.
Compilation failed in require at /usr/local/share/perl/5.18.2/CPAN/Meta/Requirements.pm line 35.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.18.2/CPAN/Meta/Requirements.pm line 35.
Compilation failed in require at /usr/share/perl/5.18/CPAN/Distribution.pm line 7.
BEGIN failed--compilation aborted at /usr/share/perl/5.18/CPAN/Distribution.pm line 7.
Compilation failed in require at /usr/share/perl/5.18/CPAN.pm line 25.
BEGIN failed--compilation aborted at /usr/share/perl/5.18/CPAN.pm line 25.
Compilation failed in require at /usr/share/perl/5.18/App/Cpan.pm line 219.
BEGIN failed--compilation aborted at /usr/share/perl/5.18/App/Cpan.pm line 219.
Compilation failed in require at /usr/local/bin/cpan line 9.
BEGIN failed--compilation aborted at /usr/local/bin/cpan line 9.

and re.pl gives me:

Perl API version v5.14.0 of List::Util does not match v5.18.0 at /usr/share/perl/5.18/XSLoader.pm line 92.
Compilation failed in require at /home/abc/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util.pm line 11.
Compilation failed in require at /usr/local/lib/perl/5.18.2/Moose.pm line 9.
BEGIN failed--compilation aborted at /usr/local/lib/perl/5.18.2/Moose.pm line 9.
Compilation failed in require at /usr/local/share/perl/5.18.2/Devel/REPL/Script.pm line 6.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.18.2/Devel/REPL/Script.pm line 6.
Compilation failed in require at /usr/local/bin/re.pl line 6.
BEGIN failed--compilation aborted at /usr/local/bin/re.pl line 6.

Is there anyone to simply get a fresh install of perl and all of its packages?

DJG
  • 99
  • 1
    there's a conflict between 5.14 and 5.18. I suspect that you have a local version of perl. Could you attach to your question the output of type perl? I think you probably just need to update your perl lib in /usr/local/. You probably also have a PERLLIB that includes incompatible modules from /home/abc/perl5/lib – Sylvain Pineau Oct 17 '14 at 06:50
  • Are you able to use Scalar::Util if you rename /home/abc/perl5 to /home/abc/perl5_old? – Sylvain Pineau Oct 17 '14 at 06:55
  • @SylvainPineau type perl returns perl is /usr/bin/perl. Renaming ~/perl5 to ~/perl5_old successfully allowed me to use Scalar::Util and run both cpan and re.pl! Should I go ahead and start installing cpan packages again, or is there something else that needs to be fixed so that the local ~/perl5 does what it's supposed to? – DJG Oct 18 '14 at 18:12

1 Answers1

5

As said in my comments above, there's a conflict between 5.14 and 5.18.

The proposed solution was renaming ~/perl5 to ~/perl5_old so that both cpan and re.pl works again.

To answer your last question, I would manage ~/perl5 to run 5.18 using perlbrew.

See How can I install a newer Perl without damaging the system install?