You are here: Foswiki>Tasks Web>Item505 (15 Mar 2011, GeorgeClark)Edit Attach

Item505: Plugin installer that requires CPAN module that is not currently installed, fails from configure/web install

pencil
Priority: Normal
Current State: Closed
Released In: 1.0.6
Target Release: patch
Applies To: Extension
Component: BuildContrib, Configure
Branches:
Reported By: Foswiki:Main.EliotBlennerhassett
Waiting For:
Last Change By: GeorgeClark
Plugin installer that requires CPAN module that is not currently installed, fails in an ugly way from configure/web install. (In some cases the plugin will install OK from the commandline).

E.g HolidaylistPlugin Requires Date::Calc, PublishPlugin has Optional Archive::Zip

Install from web gives
Use of uninitialized value in join or string at /usr/lib/perl5/File/Spec/Unix.pm line 82.
 at /home/eliot/public_html/foswiki/bin/configure line 92
   main::__ANON__('Use of uninitialized value in join or string at /usr/lib/perl...') called at /usr/lib/perl5/File/Spec/Unix.pm line 82
   File::Spec::Unix::catdir('File::Spec', 'undef', '.cpan') called at /usr/share/perl/5.8/CPAN.pm line 1231
   CPAN::Config::load('CPAN::Config') called at /usr/share/perl/5.8/CPAN.pm line 674
   CPAN::exists('CPAN=HASH(0x960b174)', 'CPAN::Module', 'Date::Calc') called at /usr/share/perl/5.8/CPAN.pm line 1925
   CPAN::Shell::expand('CPAN::Shell', 'Module', 'Date::Calc') called at /home/eliot/public_html/foswiki/tools/extender.pl line 241
   Foswiki::Extender::satisfy('HASH(0x8ad6d38)') called at /home/eliot/public_html/foswiki/tools/extender.pl line 777
   Foswiki::Extender::_install('ARRAY(0x963e408)', 'HolidaylistPlugin') called at /home/eliot/public_html/foswiki/tools/extender.pl line 910
   Foswiki::Extender::install('http://foswiki.org/pub/Extensions', 'HolidaylistPlugin', 'HolidaylistPlugin', 'MANIFEST', 'data/System/HolidaylistPlugin.txt,0644,Documentation\x{a}data/Sys...', 'DEPENDENCIES', 'Foswiki::Plugins::SmiliesPlugin,,1,perl,Required\x{a}Date::Calc,,...') called at /home/eliot/public_html/foswiki/HolidaylistPlugin_installer line 141
   require /home/eliot/public_html/foswiki/HolidaylistPlugin_installer called at /home/eliot/public_html/foswiki/lib/Foswiki/Configure/UIs/EXTEND.pm line 159
   eval {...} called at /home/eliot/public_html/foswiki/lib/Foswiki/Configure/UIs/EXTEND.pm line 156
   Foswiki::Configure::UIs::EXTEND::ui('Foswiki::Configure::UIs::EXTEND=HASH(0x8576f68)') called at /home/eliot/public_html/foswiki/bin/configure line 538
   Foswiki::_actionInstallExtension() called at /home/eliot/public_html/foswiki/bin/configure line 440

-- EliotBlennerhassett


This is not an issue with the plugins, it's an issue with BuildContrib.

-- CrawfordCurrie - 18 Mar 2009

I must admit I'm confused here... Also by the fact that the problem seems to be in extender.pl, which is not in BuildContrib but in the core. Crawford, why do you think it's an issue with BuildContrib? Did I miss something?

First, you're stating it's having issues with CPAN from configure, and I've disabled CPAN when running from configure a long time ago. I checked, and it was on the first of January 2009, so this was in 1.0.0. I really can't understand how you can have the trace above...

When run from configure, extender.pl should NOT run a CPAN shell (unless when trying to auto-install another Foswiki module as a dependency, but that's not the case here).

Then, you're stating PublishPlugin failing on Archive::Zip. This I don't get, as I've tried and it does:
*** PublishPlugin depends on cpan package Archive::Zip >=0
which is described as "Optional. Required to generate .zip output"
But when I tried to find it I got this error:

Can't locate Archive/Zip.pm
but still:
### Installation finished ###
Installer ran without errors
Installation finished.

So please Eliot, could you be more specific, and especially state your Foswiki version, and your perl version (and OS)?

Anyway, this made me uncover a bug when the perl module's version wasn't really numeric, which I fixed.

-- OlivierRaginel - 05 Jun 2009

Sorry Olivier, you are quite right, it would appear to be an issue with extender.pl. I just a whole bunch of difficult installs yesterday, on a platform with many missing CPAN modules, and had no problems (other than the fact that the modules were missing, obviously)

-- CrawfordCurrie - 10 Jun 2009

Reply to Olivier: Foswiki version was SVN:1360, the machine that hosts this instance is not running right now, so I can't be absolutely sure, but it is running Ubuntu 8.04.02 which includes perl version 5.8.8. I'll take another look tonight with Foswiki 1.0.5 and let update this accordingly.

-- EliotBlennerhassett - 11 Jun 2009

I think I finished fixing that in distro:607943e8e74b, so yes, your old foswiki version can have this bug, but 1.0.0 and further won't.

-- OlivierRaginel - 11 Jun 2009

I am setting this to WaitingForRelease. We most likely will not get the feedback before I have released 1.0.6 and I want it in the release notes.

We have Item1509 in case there is more to resolve.

-- KennethLavrsen - 16 Jun 2009

ItemTemplate edit

Summary Plugin installer that requires CPAN module that is not currently installed, fails from configure/web install
ReportedBy Foswiki:Main.EliotBlennerhassett
Codebase trunk
SVN Range 1360
AppliesTo Extension
Component BuildContrib, Configure
Priority Normal
CurrentState Closed
WaitingFor
Checkins distro:667e65e9059e distro:0af359d889eb
TargetRelease patch
ReleasedIn 1.0.6
Topic revision: r10 - 15 Mar 2011, GeorgeClark
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