Skip to Content.
Sympa Menu

en - [sympa-users] Parser.pm error

Subject: The mailing list for listmasters using Sympa

List archive

Chronological Thread  
  • 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+.

Top of Page