lukelukeluke
Technical User
Hi perl-experts!
I have perl 5.8.1 on a Suse Linux 9.0 box. This is a production use web-server. Since 1 month, a script that always worked returns "Illegal Instruction" and exits, after the following code is executed:
This script always worked fine and neither the script nor the parsed .xml-file ($conf_file in the code) has ever changed!
After this problem occurred, I went to my server support and they said, my perl installation is faulty and I should reinstall the whole server (*no way man!*). They say that the problem occurred because of Expat.pm (I think part of perl-XML-parser), which had been installed twice with Yast AND Cpan on my system:
I have never ever really taken care what perl modules I had installed. With installing new software that required perl modules to work, I always installed various perl modules without knowing much about perl or how they get installed. I installed a lot with CPAN (perl -MCPAN -e "install 'Module::Name'") and there is a good chance that I once installed some modules, which affected this script to suddenly not work anymore.
Does anyone knoww how I can fix such a perl installation? I read in the CPAN FAQ that u can't uninstall perl modules
. I've already wanted to reinstall perl-XML-parser in the most recent version (XML-Parser-2.36.tar.gz), but "make" returned various warnings and "make test" showed 13/14 failed tests and exited with "make: *** [test_dynamic] Error 255" - so I didn't execute "make install". What can I do to fix this broken installation and get my modules right again?
PS: the script failing is backup.pl of Confixx 3.3.x. I also run SpamAssassin, Razor, DCC and a couple other programs that use perl...
I have perl 5.8.1 on a Suse Linux 9.0 box. This is a production use web-server. Since 1 month, a script that always worked returns "Illegal Instruction" and exits, after the following code is executed:
Code:
my $parser = new XML::DOM::Parser;
my $xml_conf = $parser->parsefile( $conf_file );
This script always worked fine and neither the script nor the parsed .xml-file ($conf_file in the code) has ever changed!
After this problem occurred, I went to my server support and they said, my perl installation is faulty and I should reinstall the whole server (*no way man!*). They say that the problem occurred because of Expat.pm (I think part of perl-XML-parser), which had been installed twice with Yast AND Cpan on my system:
Code:
/usr/lib/perl5/site_perl/5.8.1/i586-linux-thread-multi/XML/Parser/Expat.pm
/usr/lib/perl5/vendor_perl/5.8.1/i586-linux-thread-multi/XML/Parser/Expat.pm
I have never ever really taken care what perl modules I had installed. With installing new software that required perl modules to work, I always installed various perl modules without knowing much about perl or how they get installed. I installed a lot with CPAN (perl -MCPAN -e "install 'Module::Name'") and there is a good chance that I once installed some modules, which affected this script to suddenly not work anymore.
Does anyone knoww how I can fix such a perl installation? I read in the CPAN FAQ that u can't uninstall perl modules
PS: the script failing is backup.pl of Confixx 3.3.x. I also run SpamAssassin, Razor, DCC and a couple other programs that use perl...