Subject: The mailing list for listmasters using Sympa
List archive
- From: "Bill Best" <address@concealed>
- To: sympa-users <address@concealed>
- Cc: "Olivier Salaün" <address@concealed>
- Subject: [sympa-users] Parser.pm error
- Date: Wed, 10 Sep 2008 13:17:23 +0100
Bonjour tout le monde
[My question is at the bottom - apologies for lengthy cut/pastes]
This is my first Sympa install and when I first try to navigate to
http://my.sympa.domain/sympa I get a blank page and this error:
[Wed Sep 10 11:49:06 2008] [warn] mod_fcgid: stderr: Can't locate
object method "HASH(0xc1eb71c)" via package
"HTML::StripScripts::Parser" at
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
line 80.
[Wed Sep 10 11:49:06 2008] [warn] mod_fcgid: stderr: Can't locate
object method "HASH(0xc1eb71c)" via package
"HTML::StripScripts::Parser" at
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
line 80.
So, mod_fcgid is using HTML::StripScripts::Parser located here:
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
Checking this:
[root@machine ~]# ls
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/ -la
total 140
drwxr-xr-x 2 root root 4096 2007-12-19 18:19 .
drwxr-xr-x 21 root root 4096 2008-09-08 16:36 ..
-rw-r--r-- 1 root root 15169 2006-03-22 09:15 Entities.pm
-rw-r--r-- 1 root root 2735 2005-09-12 15:31 Filter.pm
-rw-r--r-- 1 root root 6729 2005-09-12 15:26 HeadParser.pm
-rw-r--r-- 1 root root 4589 2003-10-10 11:20 LinkExtor.pm
-rw-r--r-- 1 root root 39509 2007-01-12 09:18 Parser.pm
-rw-r--r-- 1 root root 5790 2006-04-26 09:00 PullParser.pm
-rw-r--r-- 1 root root 10134 2006-04-26 09:00 TokeParser.pm
However Sympa is using another HTML::StripScripts::Parser located here
on my system:
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts/Parser.pm
[the above file symbolically links to
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts.pm as this was
required to install sympa]
Ok, so I rename HTML/Parser.pm to HTML/Parser.old and link from
HTML::StripScripts::Parser to HTML/Parser.pm so:
ln -s /usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts/Parser.pm
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
And now obtain a new error when navigating to http://my.sympa.domain/sympa:
[Wed Sep 10 12:06:54 2008] [warn] mod_fcgid: stderr: Can't locate
object method "new" via package "HTML::StripScripts::Parser" at
/usr/local/share/sympa/bin//tools.pl line 75.
[Wed Sep 10 12:06:54 2008] [warn] mod_fcgid: stderr: Can't locate
object method "new" via package "HTML::StripScripts::Parser" at
/usr/local/share/sympa/bin//tools.pl line 75.
And if I restart Sympa I now get this:
Starting Sympa subsystem:
Starting module sympa.pl: Base class package "HTML::Parser" is empty.
(Perhaps you need to 'use' the module which defines that package first.)
at /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
line 70
BEGIN failed--compilation aborted at
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
line 70.
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts.pm line 69.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts.pm line 69.
Compilation failed in require at
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts/Parser.pm line 68.
BEGIN failed--compilation aborted at
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts/Parser.pm line 68.
Compilation failed in require at /usr/local/share/sympa/bin//tools.pl line 37.
BEGIN failed--compilation aborted at
/usr/local/share/sympa/bin//tools.pl line 37.
Compilation failed in require at /usr/local/share/sympa/bin//Conf.pm line 39.
Compilation failed in require at
/usr/local/share/sympa/bin//Commands.pm line 26.
BEGIN failed--compilation aborted at
/usr/local/share/sympa/bin//Commands.pm line 26.
Compilation failed in require at /usr/local/share/sympa/bin/sympa.pl line 33.
BEGIN failed--compilation aborted at
/usr/local/share/sympa/bin/sympa.pl line 33.
So Sympa is complaining about the new Parser.pm file so now I revert
to how things were before and obtain my original error thus:
[Wed Sep 10 12:20:46 2008] [warn] mod_fcgid: stderr: Can't locate
object method "HASH(0xa6bf004)" via package
"HTML::StripScripts::Parser" at
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
line 80.
[Wed Sep 10 12:20:46 2008] [warn] mod_fcgid: stderr: Can't locate
object method "HASH(0xa6bf004)" via package
"HTML::StripScripts::Parser" at
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
line 80.
It appears that mod_fcgid is using Parser.pm located at:
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm
but Sympa is using Parser.pm located at:
/usr/lib/perl5/site_perl/5.8.8/HTML/StripScripts/Parser.pm
And these two Parser.pm files are not the same.
How can I fix mod_fcgid to use the correct Parser.pm file?
Many thanks for your help in advance
Bill
- [sympa-users] Parser.pm error, Bill Best, 09/10/2008
Archive powered by MHonArc 2.6.19+.