2010-11-20 20 views
1

Ich versuche, eine * nix ausführbare Datei von einem Perl-Skript, das ein CPAN-Modul namens Text :: BibTeX verwendet.Probleme mit Perl ausführbar mit PP

Ich habe versucht, pp zu verwenden, um alles zu packen, ohne Erfolg.

Ich habe

versucht
pp -o outfile src.pl 

pp -M Text::BibTeX -o outfile src.pl 

Aber es funktioniert nicht. Oder besser funktioniert die ausführbare Datei auf meinem Computer, aber nicht auf zwei anderen Computern, auf die ich zugreifen kann. Auf einer dieser Maschinen ist auch Text :: BibTeX auf der anderen nur perl installiert.

Kann jemand helfen?

Weitere Details zum Skript.

Es ist ein Präprozessor für Bib-Dateien, um CSV-Dateien aus bestimmten Feldern der Startnummer zu erstellen.

Normale Nutzung ist:

perl Bib2CSV.pl file.bib 

Als ich pp -x Bib2CSV.pl file.bib laufen sie klagt Eingabedatei über fehlende:

ForkBook:plbib2csv (master) fork$ pp -x Bib2CSV.pl bibliography.bib 
Missing input file. 
SYSTEM ERROR in executing Bib2CSV.pl: 512 at /Library/Perl/5.10.0/Module/ScanDeps.pm line 1255. 

Die Quelle ccode bei https://github.com/TiagoVeloso/Bib2CSV verfügbar ist

auch eine Java-Port Es hat an dem ich auch arbeite.

+1

Sollte es nicht sein "-AG Text :: BibTeX" (nicht-Test)? – bvr

+0

Sie haben Recht Ich habe es falsch geschrieben, aber das war nicht das Problem. –

+0

Möglicherweise möchten Sie die Fehlermeldung, die Sie entweder beim Erstellen der ausführbaren Datei oder beim Ausführen erhalten, posten. Sonst kann dir niemand helfen. Beschwert es sich über ein fehlendes Modul oder ein fehlendes .so? – tsee

Antwort

0

Mit pp, hatte ich immer den besten Erfolg mit der -x-Flag (ich denke es war), die das Programm läuft und auf Abhängigkeiten live überprüfen. Sehen Sie, ob das hilft.

+0

Das hat nicht geholfen. Ich habe weitere Informationen zum ursprünglichen Beitrag hinzugefügt. –

-1

Versuchen Sie es mit $ARGV[0] statt shift an die Befehlszeile Argument holen

1

bibliography.bib Teil der PAR ist, oder ist es Eingang der die Ausführung des Programms? Wenn letzteres der Fall, möchten Sie:

pp -l /usr/lib/libbtparse.so -B -S -o bib2csv bib2csv.pl 
./bib2csv bibliography.bib 

Wenn das ehemalige, Sie wollen:

pp -l /usr/lib/libbtparse.so -B -S -a bibliography.bib -o bib2csv bib2csv.pl 

Was mehr ist, eine PAR-Datei ist eine ZIP-Datei. Wie ist eine PAR ausführbar. Sie können leicht sehen, was im Inneren des Par mit unzip -t ist:

unzip -t bib2csv | grep Text 
+0

Ich denke, das hat funktioniert. Ich werde ein paar Tests machen und auf Sie zurückkommen. –

+0

Das hat leider nicht funktioniert. : / –