PERL Rollback, Upgraded during OS upgrade, Broke one of the apps running on my droplet.

September 26, 2014 3.6k views

I'm wondering how I can do a PERL rollback, I updated my vesion of ubuntu from 12.04 to 14.04 but PERL was upgrade in the process from 5.14.0 to 5.18.0. IT broke one of my apps. I get the following.
Perl API version v5.14.0 of Socket does not match v5.18.0 at /usr/share/perl/5.18/XSLoader.pm line 92.

2 comments
  • Here is the full error message when I try to start Zimbra.

    Perl API version v5.14.0 of Socket does not match v5.18.0 at /usr/share/perl/5.18/XSLoader.pm line 92.
    Compilation failed in require at /usr/lib/perl/5.18/Sys/Syslog.pm line 10.
    BEGIN failed--compilation aborted at /usr/lib/perl/5.18/Sys/Syslog.pm line 10.
    Compilation failed in require at /opt/zimbra/zimbramon/lib/Zimbra/Mon/Logger.pm line 21.
    BEGIN failed--compilation aborted at /opt/zimbra/zimbramon/lib/Zimbra/Mon/Logger.pm line 21.
    Compilation failed in require at /opt/zimbra/bin/zmcontrol line 27.
    BEGIN failed--compilation aborted at /opt/zimbra/bin/zmcontrol line 27.

  • And this is the error message when I try to switch version through perlbrew,

    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 /usr/local/share/perl/5.18.2/App/perlbrew.pm line 22.
    BEGIN failed--compilation aborted at /usr/local/share/perl/5.18.2/App/perlbrew.pm line 22.
    Compilation failed in require at /usr/local/bin/perlbrew line 6.
    BEGIN failed--compilation aborted at /usr/local/bin/perlbrew line 6.

1 Answer

Ubuntu only ships one version of Perl in each release. Zimbra ships a specific version tied to each Ubuntu release, so generally your best bet is up upgrade to a version with support for the newer Perl version. This article from the Zimbra docs walks you through the process of downloading the new release and running the upgrade script.

If you need to manage multiple versions of Perl, the perlbrew tool can be helpful.

Have another answer? Share your knowledge.