pdfTeX kompilieren

Tummelplatz für Computernutzer im allgemeinen und ihrer vielfältigen Probleme

Moderator: (M) Mod.-Team Allgemein

Antworten
sisp
TalkING. Fan
TalkING. Fan
Beiträge: 38
Registriert: Do, 14. Feb. 08, 12:36

pdfTeX kompilieren

Beitrag von sisp » Mi, 11. Nov. 09, 23:55

Moin,

ich möchte gerne eine schlange Lösung zum automatisierten Erzeugen von PDF-Dateien haben - am besten indem ich .tex-Dateien konvertiere. Da pdfTeX ein schlankes Programm ist, versuchte ich den Quellcode zu kompilieren (da ich keine fertigen Binaries für Windows finden konnte). Ich kompiliere in der Umgebung MSys mit dem GCC. Dabei kommt es zuerst zum Typenkonflikt durch die erneute Deklaration des Datentyp 'Boolean' im Quellcode von pdfTeX. Wenn ich in den GCC includes die typedef auskommentiere, schreitet der Kompilierprozess weiter voran, bricht aber schließlich erneut ab mit der Meldung:

Bild

Kann mir jemand sagen, warum ganz unten kein Dateiname vorhanden ist, weshalb der Kompiliervorgang fehlschlägt?

Unabhängig davon: Gibt es die Möglichkeit, pdfTeX komplett in eine .exe-Datei oder .dll-Datei zu kompilieren (ohne externe Bibliotheken)? Das wäre eigentlich die optimale Lösung.

Benutzeravatar
HerrSultan
Exzellenter Poster
Exzellenter Poster
Beiträge: 3115
Registriert: Mo, 07. Okt. 02, 13:12
Wohnort: Hamburg-Altona
Kontaktdaten:

Beitrag von HerrSultan » Do, 12. Nov. 09, 07:04

Zu deinen Compilerfehlern kann ich wenig sagen, aber wieso nimmst du nicht einfach MiKTeX?

sisp
TalkING. Fan
TalkING. Fan
Beiträge: 38
Registriert: Do, 14. Feb. 08, 12:36

Beitrag von sisp » Do, 12. Nov. 09, 14:29

Weil ich nur .tex -> .pdf machen will und die 1000 anderen Features nicht brauche. pdfTeX soll in ein größeres Softwareprojekt eingebunden werden und da kann ich nicht verlangen, dass jeder Benutzer erstmal MiKTeX installiert.

Room101
TalkING. Superposter
TalkING. Superposter
Beiträge: 554
Registriert: Fr, 12. Sep. 03, 12:47

Beitrag von Room101 » Do, 12. Nov. 09, 15:12

Dazu müsste man mal dein makefile sehen. Benutzt du automake/autoconf (gibt's das überhaupt für win?)?

Du kannst natürlich alle Bibliotheken, die benötigt werden selbst bauen und statisch an pdfTex ranlinken, dann wird das binary zwar riesig, hat aber keine Abhängigkeiten mehr.

P.S: Manuell in den System-Includedateien herumzueditieren ist übrigens eine gaaaaanz schlechte Idee.
The lexical ambiguity and syntactic arrangement inherent in this prose communication tend to predict a degree of confusion in the desired recipient.

sisp
TalkING. Fan
TalkING. Fan
Beiträge: 38
Registriert: Do, 14. Feb. 08, 12:36

Beitrag von sisp » Do, 12. Nov. 09, 17:22

Ah, sehr angenehm, eine konstruktive Antwort. Also ich folgenden Quellcode (komplett unverändert) versucht zu kompilieren:

http://sarovar.org/frs/download.php/124 ... .9.tar.bz2

Der Link stammt von der offiziellen Seite von pdfTeX (www.pdftex.org). Dies ist die aktuelle Version.

Ich weiß, dass man in den includes vom GCC eigentlich nichts rumzupfuschen hat, aber das auskommentieren der typedef in pdfTeX brachte dann nur andere Fehler.

Automake/autoconf hab ich schon mal gehört, kann das aber bei MinGW oder MSys nicht finden, also hab ichs wohl nicht. Ich habe einfach das Shell-Script (build.sh) im Hauptverzeichnis des Quellcodes ausgeführt. Das macht den ganzen Kram ja, ruft alle makefiles der Bibliotheken etc. auf. Ich check einfach nicht, warum der Kompiliervorgang nicht durchläuft.

Room101
TalkING. Superposter
TalkING. Superposter
Beiträge: 554
Registriert: Fr, 12. Sep. 03, 12:47

Beitrag von Room101 » Mo, 16. Nov. 09, 15:37

Dir fehlt vermutlich ein Tool. Ich habe deine Quellen unter Linux mal kompiliert und musste "lex" nachinstallieren, da ansonsten das Makro LEX_OUTPUT_ROOT nach "" expandiert und somit irgendwann ein einsames ".c" auftaucht.

Das sieht man auch im configure-Skript, dazu muss man allerdings automake/autoconf kennen, deshalb die vorherige Frage.

Also, Essenz: lex nachinstallieren!

Viel Erfolg!

edit: Dein stdio.h musst du übrigens tatsächlich anpassen, da die libc-Versionen, die du installiert hast und die pdfTex erwartet nicht zusammenpassen.
The lexical ambiguity and syntactic arrangement inherent in this prose communication tend to predict a degree of confusion in the desired recipient.

sisp
TalkING. Fan
TalkING. Fan
Beiträge: 38
Registriert: Do, 14. Feb. 08, 12:36

Beitrag von sisp » Mo, 16. Nov. 09, 23:33

Das mit lex war schon mal ein super Tipp! Der Fehler ist behoben, aber jetzt kommt schon wieder ein neuer Fehler, den ich nicht beheben kann. Es wird nach Funktionen wie "win32_get_long_filenames" oder "init_user_info" verlangt. Ich habe über google herausgefunden, dass dies wohl XEmacs Funktionen sind. Außerdem habe ich zufällig eine Seite über das Kompilieren von tex-Zeug für Windows gefunden, wo Patches bereitgestellt werden (ist aber nicht direkt kompatibel). Dort gibt es .c-Dateien mit genau diesen Funktionen... Komischerweise sagst du, du konntest es unter Linux nach dem Hinzufügen von lex kompilieren. Kann ich nicht irgendwie herausfinden, welche Pakete ich noch brache, damit es läuft? Ich denke nicht, dass ich jetzt von hier und da irgendwelche Bibliotheken noch kompilieren muss oder?

Antworten