I have perl 5.10.0. Ikiwiki 2.44 compiles fine. Compiling 2.45 fails after 'make':
perl -Iblib/lib ikiwiki.out -libdir . -setup docwiki.setup -refresh
refreshing wiki..
docwiki.setup: Failed to load plugin IkiWiki::Plugin::goodstuff: Failed to load plugin IkiWiki::Plugin::shortcut: Too many arguments for IkiWiki::srcfile at IkiWiki/Plugin/shortcut.pm line 16, near "1)"
Compilation failed in require at (eval 31) line 2.
BEGIN failed--compilation aborted at (eval 31) line 2.
BEGIN failed--compilation aborted at (eval 23) line 2.
BEGIN failed--compilation aborted at (eval 10) line 21.
make: *** [extra_build] Error 255
I can't reproduce this. It looks like your IkiWiki.pm is out of sync with
your IkiWiki/Plugin/shortcut.pm. The ones distributed in 2.45 are in
sync. Or your perl is failing to use the right version of Ikiwiki.pm,
perhaps using a previously installed version. But the -Iblib/lib
instructs perl to look in that directory first, and the Makefile
puts Ikiwiki.pm there. --[[Joey]]
I removed all traces of the previous installation, and now 2.45 compiles.
I don't know why it was picking up the old version of Ikiwiki.pm, but now it
works. Please close this bug, and thanks for the help.
Where were the files from the old installation? I still don't
understand why they would be seen, since -Iblib/lib is passed to perl.
--[[Joey]]
They were under /usr/local/{bin,lib,share}. I can try to provide more info,
or try to reproduce it, if you need me to.
Well, here are some things to try.
perl -Iblib/lib -V
This should have blib/lib first in the listed @INC
joey@kodama:~/src/ikiwiki>strace perl -Iblib/lib -e 'use IkiWiki' 2>&1 |grep IkiWiki.pm
stat64("blib/lib/IkiWiki.pmc", 0xbfa1594c) = -1 ENOENT (No such file or directory)
stat64("blib/lib/IkiWiki.pm", {st_mode=S_IFREG|0444, st_size=31982, ...}) = 0
open("blib/lib/IkiWiki.pm", O_RDONLY|O_LARGEFILE) = 5
This is how perl finds IkiWiki.pm here. Note that I've run "make" first.
OK, this is what I'm getting:
$ perl -Iblib/lib -V
@INC:
blib/lib
/usr/lib/perl5/site_perl/5.10.0
/usr/share/perl5/site_perl/5.10.0
/usr/lib/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/share/perl5/vendor_perl
/usr/lib/perl5/core_perl
/usr/share/perl5/core_perl
/usr/lib/perl5/current
/usr/lib/perl5/site_perl/current
I ran the following in my current 2.45 source dir, where the make
already succeded. If you need it, I can post the output
in the case where make
fails.
$ strace perl -Iblib/lib -e 'use IkiWiki' 2>&1 |grep IkiWiki.pm
stat64("blib/lib/IkiWiki.pmc", 0xbfa6167c) = -1 ENOENT (No such file or directory)
stat64("blib/lib/IkiWiki.pm", {st_mode=S_IFREG|0444, st_size=31901, ...}) = 0
open("blib/lib/IkiWiki.pm", O_RDONLY|O_LARGEFILE) = 3
[[done]]