"Illegal Instruction" in perl script beim XML-parsen


lukelukeluke

Erfahrenes Mitglied
Hallo Leute,
Ich habe ein Problem in meiner Confixx-Installation, welches nun anscheinend zu einem Perl-Problem wurde. In Confixx gibt es das Script "backup.pl", welches bei mir bei folgendem Arbeitsschritt ein "Illegal Instruction" zurück gibt:
Code:
my $parser = new XML::DOM::Parser;
my $xml_conf = $parser->parsefile( $conf_file );
Anscheinend wird hier ein Conf-File (.xml-Datei) eingelesen und geparst, was fehlschlägt. Die Konfigurationsdatei wurde aber nie geändert, und es schlug plötzlich fehl, wahrscheinlich nach dem Installieren irgendwelcher Perl-Module (weiss ich leider nicht mehr).
Ich habe meinen Server-Support kontaktiert, welcher das Problem anscheinend ausführlich (laut .bash_history) behandelt hat. Als Rückmeldung sagen sie mir, dass dieses Problem auf unterschiedliche Installierweise der Module basiert (gewisse per CPAN und gewisse per YaSt). Jedenfalls kann ich mir dies nicht vorstellen...
Bei CPAN im FAQ steht, dass man Module nicht deinstallieren kann... Hat jemand eine Idee, woher "Illegal Instruction" kommt, oder wie ich mein Problem (evtl. mit installieren/deinstallieren von Modulen) beheben kann?
Vielen Dank für eure Hilfe!

Hinzugefügt:
Der Support sagt, es liege am Modul Expat.pm, welches anscheinend mit Yast UND Cpan installiert wäre (das könne nur mit einer Neuinstallation behoben werden):
/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

Gibt es eine Möglichkeit, dieses Modul zu deinstallieren?
Wenn ich probiere, perl-XML-parser zu installieren (aus XML-Parser-2.36.tar.gz, das sollte ja Expat beinhalten) gibt es bei "make" zahlreiche Warnings im Format "Expat.xs:1488: warning: unused variable blabla". Bei "make test" schlagen alle Tests fehl und am schluss zeigt er an: "make: *** [test_dynamic] Error 255", deshalb habe ich "make install" schon gar nicht ausgeführt, um nicht alles noch kaputt zu machen. Vielleicht ist diese fehlerhafte Installation ein Hinweis dafür, das er Probleme mit XML-parser hat?
Wäre super wenn ein Perl-Experte weiterhelfen könnte, kenne mich damit leider nicht so aus :(
 
Zuletzt bearbeitet:

lukelukeluke

Erfahrenes Mitglied
Das Problem hat sich mittlerweile gelöst.
Es lag am Perl-Modul XML-Parser. Anscheinend hat dieses nicht mehr auf das externe Programm Expat zugreiffen können. Ich habe von Hand expat neben dem bestehenden Expat in einen anderen Pfad installiert:
Code:
./configure --prefix=/usr/local
Dann habe ich XML-Parser neu installiert und während der Installation (über Cpan) en Pfad des zweiten (funktionierenden) Expat angegeben.