Item13943: MultiLingualPlugin uses alias_code routine which is unavailable in newer versions of Locale::Country

pencil
Priority: Urgent
Current State: Closed
Released In: n/a
Target Release:
Applies To: Extension
Component: MultiLingualPlugin
Branches: master
Reported By: MarkusUeberall
Waiting For:
Last Change By: MichaelDaum
Accessing Main after installation/restart triggers the following error with Locale::Country v3.37:
Undefined subroutine &Locale::Country::alias_code called at /var/www/apps/foswiki/lib/Foswiki/Plugins/MultiLingualPlugin/Core.pm line 41.
 at /var/www/apps/foswiki/lib/Foswiki/Plugins/MultiLingualPlugin/Core.pm line 41.
        Foswiki::Plugins::MultiLingualPlugin::Core::new("Foswiki::Plugins::MultiLingualPlugin::Core") called at /var/www/apps/foswiki/lib/Foswiki/Plugins/MultiLingualPlugin.pm line 76
        Foswiki::Plugins::MultiLingualPlugin::getCore() called at /var/www/apps/foswiki/lib/Foswiki/Plugins/MultiLingualPlugin.pm line 32
        Foswiki::Plugins::MultiLingualPlugin::__ANON__(Foswiki=HASH(0x7f983c008628), Foswiki::Attrs=HASH(0x7f983dbf37f8), "LanguageSelector", "System", Foswiki::Meta=HASH(0x7f983dbed980)) called at /var/www/apps/foswiki/lib/Foswiki/Func.pm line 660
        Foswiki::Func::__ANON__(Foswiki=HASH(0x7f983c008628), Foswiki::Attrs=HASH(0x7f983dbf37f8), Foswiki::Meta=HASH(0x7f983dbed980)) called at /var/www/apps/foswiki/lib/Foswiki.pm line 3516
        Foswiki::_expandMacroOnTopicRendering(Foswiki=HASH(0x7f983c008628), "LANGUAGES", "\x{a}         format=\"<option \$marker value=\\\"\$langtag\\\">\$langnam"..., Foswiki::Meta=HASH(0x7f983dbed980)) called at /var/www/apps/foswiki/lib/Foswiki.pm line 3378
        Foswiki::_processMacros(Foswiki=HASH(0x7f983c008628), "<form name=\"changeLanguage\"\\\x{a}    action=\"%SCRIPTURLPATH{\"oops"..., CODE(0x555ef8dc0538), Foswiki::Meta=HASH(0x7f983dbed980), 16) called at /var/www/apps/foswiki/lib/Foswiki.pm line 3136
        Foswiki::innerExpandMacros(Foswiki=HASH(0x7f983c008628), SCALAR(0x7f983dbe87c8), Foswiki::Meta=HASH(0x7f983dbed980)) called at /var/www/apps/foswiki/lib/Foswiki/Macros/INCLUDE.pm line 307
        Foswiki::__ANON__() called at /var/www/.plenv/versions/5.22.1-ithreads-shrplib/lib/perl5/site_perl/5.22.1/Error.pm line 421
        eval {...} called at /var/www/.plenv/versions/5.22.1-ithreads-shrplib/lib/perl5/site_perl/5.22.1/Error.pm line 413
        Error::subs::try(CODE(0x7f983dbedd40), HASH(0x7f983dbee268)) called at /var/www/apps/foswiki/lib/Foswiki/Macros/INCLUDE.pm line 363
        Foswiki::_includeTopic(Foswiki=HASH(0x7f983c008628), Foswiki::Meta=HASH(0x7f983dbe2788), HASH(0x7f983dbe8438), Foswiki::Attrs=HASH(0x7f983dbe8c30)) called at /var/www/apps/foswiki/lib/Foswiki/Macros/INCLUDE.pm line 422
        Foswiki::INCLUDE(Foswiki=HASH(0x7f983c008628), Foswiki::Attrs=HASH(0x7f983dbe8c30), Foswiki::Meta=HASH(0x7f983dbe2788)) called at /var/www/apps/foswiki/lib/Foswiki.pm line 3516
        Foswiki::_expandMacroOnTopicRendering(Foswiki=HASH(0x7f983c008628), "INCLUDE", "\"LanguageSelector\" section=\"selector\"", Foswiki::Meta=HASH(0x7f983dbe2788)) called at /var/www/apps/foswiki/lib/Foswiki.pm line 3378
        Foswiki::_processMacros(Foswiki=HASH(0x7f983c008628), "%INCLUDE{\"LanguageSelector\" section=\"selector\"}%", CODE(0x555ef8dc0538), Foswiki::Meta=HASH(0x7f983dbe2788), 15) called at /var/www/apps/foswiki/lib/Foswiki.pm line 3396
[...]

-- MarkusUeberall - 04 Feb 2016

Hotfix:

diff --git a/lib/Foswiki/Plugins/MultiLingualPlugin/Core.pm b/lib/Foswiki/Plugins/MultiLingualPlugin/Core.pm
index 915150a..efc7cab 100644
--- a/lib/Foswiki/Plugins/MultiLingualPlugin/Core.pm
+++ b/lib/Foswiki/Plugins/MultiLingualPlugin/Core.pm
@@ -38,7 +38,7 @@ sub new {
   if (defined $Foswiki::cfg{MultiLingualPlugin}{Aliases} && !$doneAliases) {
     foreach my $key (keys %{$Foswiki::cfg{MultiLingualPlugin}{Aliases}}) {
       my $val = $Foswiki::cfg{MultiLingualPlugin}{Aliases}{$key};
-      Locale::Country::alias_code($key => $val, LOCALE_CODE_ALPHA_2);
+      Locale::Country::add_country_code_alias($val, $key, LOCALE_CODE_ALPHA_2);
     }
     $doneAliases = 1;
   }

-- Main.MichaelDaum - 16 Feb 2016 - 15:54

 

ItemTemplate edit

Summary MultiLingualPlugin uses alias_code routine which is unavailable in newer versions of Locale::Country
ReportedBy MarkusUeberall
Codebase 2.1.0
SVN Range
AppliesTo Extension
Component MultiLingualPlugin
Priority Urgent
CurrentState Closed
WaitingFor
Checkins MultiLingualPlugin:c864b3e7638e
ReleasedIn n/a
CheckinsOnBranches master
trunkCheckins
masterCheckins MultiLingualPlugin:c864b3e7638e
ItemBranchCheckins
Release02x01Checkins
Release02x00Checkins
Release01x01Checkins
Topic revision: r4 - 08 Mar 2016, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy