Hi Rick I have the same problems as Bo trying to install Koha on Debian 4.0 following the instructions by Joshua on http://www.kohadocs.org/Installing_Koha_on_Debian_sarge.html Rick Welykochy schrieb:
The Koha community is anticipating the day that the Koha installation package has all the Perl packages bundled in with the Koha source code. We live in hope!
Checking perl modules ... Variable "$record" is not imported at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 356, <STDIN> line
When the above happens while installer.pl is running, my guess is the the installer sees an error and blandly (blindly!) assumes then that the module (MARC:File::XML) is not installed.
I see this sort of behaviour from time to time. Since there is no definitive set of Perl modules for Koha, as versions of things change on CPAN, things start breaking in unexpected places.
A "definitive set" of modules is a specified set of modules with specific version numbers, all known to work together as one compatible whole. This is not a trivial task, as things can and do change rapidly on CPAN. AFAIK, their is no complete "integration testing" done on CPAN with various sets of modules.
Also the Net::LDAP installtion fails: Searching krb5-config command... not found! at Makefile.PL line 94.
HAAAAILP....please...I'm stuck.
Next step is to see why your version of this module is broken. Try this:
perl -MMARC::File::XML -e 'print "hello\n"'
and let us see the output.
verwaltung:~/koha-2.2.9# perl -MMARC::File::XML -e 'print "hello\n"' Variable "$record" is not imported at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 356. (Did you mean &record instead?) Variable "$record" is not imported at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 358. (Did you mean &record instead?) "my" variable $data masks earlier declaration in same scope at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 369. Variable "$record" is not imported at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 380. (Did you mean &record instead?) Variable "$record" is not imported at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 383. (Did you mean &record instead?) syntax error at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 327, near ") ~" Global symbol "$without_header" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 343. Global symbol "$enc" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 344. Global symbol "$record" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 356. Global symbol "$record" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 358. Global symbol "$_transcode" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 363. Global symbol "$_transcode" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 371. Global symbol "$_transcode" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 378. Global symbol "$original_charset" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 379. Global symbol "$record" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 380. Global symbol "$original_charset" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 380. Global symbol "$ldr" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 382. Global symbol "$original_encoding" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 382. Global symbol "$record" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 383. Global symbol "$ldr" requires explicit package name at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 383. syntax error at /usr/local/share/perl/5.8.8/MARC/File/XML.pm line 387, near "}" /usr/local/share/perl/5.8.8/MARC/File/XML.pm has too many errors. Compilation failed in require. BEGIN failed--compilation aborted.
I think the solution might lie in which version of the module you are using. You can find that out as follows:
grep VERSION `perldoc -l MARC::File::XML`
I get: use vars qw( $VERSION %_load_args ); $VERSION = '0.87';
On my working install I see it is version 0.85.
use vars qw( $VERSION %_load_args ); $VERSION = '0.85';
You can always visit the CPAN web site and forcibly install that version.
How? Thanks Beda