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:
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.
pdfTeX kompilieren
Moderator: (M) Mod.-Team Allgemein
- HerrSultan
- Exzellenter Poster
- Beiträge: 3115
- Registriert: Mo, 07. Okt. 02, 13:12
- Wohnort: Hamburg-Altona
- Kontaktdaten:
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.
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.
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.
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.
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.
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.
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?