Frage

XML::Parser kann nicht auf einer recht neuen 64-Bit-Debian-Box aufbauen.Nach der Ausstellung cpan XML::Parser, cpan schlägt mit vielen Fehlern bezüglich Expat.c und Expat.xs fehl:

[...]
Expat.xs:2182: error: ‘CallbackVector’ has no member named ‘skip_until’
Expat.c: In function ‘XS_XML__Parser__Expat_Do_External_Parse’:
Expat.c:2904: error: ‘XML_Parser’ undeclared (first use in this function)
Expat.c:2904: error: expected ‘;’ before ‘parser’
Expat.xs:2194: error: ‘parser’ undeclared (first use in this function)
make[1]: *** [Expat.o] Error 1
make[1]: Leaving directory `/root/.cpan/build/XML-Parser-2.41-rpV6ok/Expat'
make: *** [subdirs] Error 2
  TODDR/XML-Parser-2.41.tar.gz
  /usr/bin/make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible

Die Meldung am Anfang der Ausgabe erklärt dies Expat-Entwicklung wird zum Bauen benötigt.

Der Expat muss vor dem Erstellen von XML :: Parser installiert werden, und ich kann ihn nicht in den Standardbibliotheksverzeichnissen finden.Installieren Sie das "Expat-Devel" -Paket mit Ihrem OS-Paket-Manager.Siehe „README“.

Aber Expat-Entwicklung ist nicht im Debian-Repository.

Ist es möglich, darüber hinwegzukommen, ohne Expat aus dem Quellcode erstellen/installieren zu müssen?

War es hilfreich?

Lösung

Das Paket, das Sie installieren möchten, wird benannt libexpat1-dev.Sie können es auch einfach installieren libxml-parser-perl über apt-get.Oder wenn Sie wirklich über CPAN installieren möchten, versuchen Sie zunächst, die Abhängigkeiten der Debian-Pakete über zu installieren apt-get build-dep libxml-parser-perl.

Andere Tipps

libexpat1-dev enthält sowohl libexpat als auch expat.h, die beide in erwähnt sindDie Nachricht auch:

Wenn Expat installiert ist, aber in einem Nicht-Standardverzeichnis, verwenden Sie die folgende Optionen an makefile.pl:

expatlibpath= ..., um das Verzeichnis einzustellen, in dem LIBEXPAT

findet

expatincpath= ..., um das Verzeichnis einzustellen, in dem expat.h

erfahren werden sollen

libexpat1-dev installieren scheint das Problem zu lösen:

generasacodicetagpre.

Es gibt immer die manuelle Methode - zum Erstellen / Installieren von Expat von der Quelle. (Dieses Beispiel zeigt die Installation an einem alternativen Ort für XAMPP | lampen )

Download von: http://sourceforge.net/projects/expat/files/expat/

generasacodicetagpre.

http://search.cpan.org - Suche nach und downloaden - XML :: Parser

. generasacodicetagpre.

Arbeit wie ein Charme in Ubuntu 15.04.Das einzige, was ich brauche, ist das Installieren von Perl XML-Parser mit:

generasacodicetagpre.

Und folgen Sie den Anweisungen hier, ich konnte alle meine Bewertungen in Rhythmbox erfolgreich importieren.Nun, die einzige Arbeit, die ich tun muss, ist, dass die Smart Play-Listen erneut erstellt werden, das ist nichts im Vergleich zu meinen gesamten Libray-Ratings.

Heute hatte ich das gleiche Problem, als ich die neue Betaversion von GIMP 2.9.4 unter OSX 10.8 und mithilfe von Homebrew kompilieren wollte.

Installieren Sie zuerst Perl

brew install perl

Dann das XML::Parser-Modul, indem Sie mit in die Perl-Shell gehen

perl -MCPAN -e shell

Und in der Shell installieren Sie XML::Parser durch Eingabe

install XML::Parser

Shell verlassen

exit

Überprüfen Sie nun, ob die Installation erfolgreich war.Wenn alles in Ordnung ist, wird kein Fehler angezeigt.

perl -e "require XML::Parser"

Wenn ./configure immer noch fehlschlägt und XML::Parser fehlt, verwendet intltools nicht das von Ihnen installierte Perl.Ein Blick auf das Skript zeigt mir, dass es den Test mit durchführt $INTLTOOL_PERL -e "require XML::Parser".Versuche a echo $INTLTOOL_PERL gab nichts aus, also besteht die Magie darin, es zu setzen

export $INTLTOOL_PERL=perl

Führen Sie nun ./configure erneut aus.

Keine der oben genannten Methoden hat bei mir funktioniert.Ich hatte die richtigen Umgebungsvariablen eingerichtet, aber sie wurden irgendwie nicht erkannt cpanm mit dem ich Perl-Module installiere.Expat wurde ebenfalls installiert.

Hier ist, was ich getan habe, um das gleiche Problem zu lösen, das OP meldet.Das kommt dem sehr nahe @LadyBuzz empfohlen.

  1. Laden Sie die herunter XML::Parser aus cpan.org
  2. Extrahieren Sie den Tarball in das Verzeichnis und steigen Sie dorthin ab.
  3. Öffne das Makefile.pl und bearbeiten Sie die ersten Zeilen, um tatsächlich die absoluten Pfade zu beiden zu haben: EXPATLIBPATH Und EXPATINCPATH
  4. Speichern Sie die Makefile.pl, gehen Sie eine Ebene nach oben und erstellen Sie einen neuen Tarball mit Makefile.pl das du gerade bearbeitet hast.
  5. Ausführen cpanm auf dem neu erstellten Tarball.

Dies führte zu einer erfolgreichen Installation des Moduls.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top