DSA4 Werkzeug

 Version 1.32  Was ist das?  Daten  Forum  Bug melden  Mitarbeiten  Projektübersicht  Wiki  Download  ? 

 Neuigkeiten  Einführung Anleitung Daten Mitarbeiter gesucht Entwicklung BugmeldungenSourceForgeCVSC++ und STLwxWindowsXML und XDIXercesweitere PläneErstellenWeiteres Download
Fragen oder Kommentare? Ratschläge? e-Mail an denny@nodix.de

Nodix

Das DSA4 Werkzeug ist kein offizielles DSA Material, sondern wird von Fans für Fans erstellt, mit freundlicher Genehming von

FanPro



Open Source Projekt gehostet auf

SourceForge.net Logo



COUNTER
counter


Wie erstellt man das DSA4 Werkzeug?

Folgenden Text hat Twelwan geschrieben, ich habe ihn nur leicht überarbeitet. Hierfür möchte ich ihm herzlich Danken, vor allem für die Mühe, die er dabei hatte, all das herauszufinden.

Wenn jemand Verbesserungsvorschläge, Dankesworte oder Fragen hat, schicke er diese an mich, ich leite sie entsprechend weiter.


DSA4 Werkzeug unter Windows (mit Cygwin) kompilieren

Diese Schritt-für-Schritt-Anleitung ist für Windows-User geschrieben, die noch keine Erfahrung im Umgang mit Cygwin (oder UNIX/Linux) haben und schnellstmöglich zum Ziel kommen wollen. Allerdings kann es natürlich sein, dass die Installation stur nach Anleitung nicht auf jedem System funktioniert. Bekannte Probleme werden ganz unten aufgeführt (ich empfehle zuerst einen Blick darauf zu werfen).

Grob gesagt muss man mindestens 50 MB Pakete herunterladen, und fürs Kompilieren zumindest ein paar Hundert MB auf der Festplatte frei haben. Auch sollte man etwas Zeit mitbringen, je nach Rechner dauert das Kompilieren eine Weile...


Vorwort

Ich habe relativ viele Anmerkungen gemacht, weil ich die Anleitung einsteigerfreundlich halten wollte. Jemand mit Cygwin-Erfahrung braucht diese Anleitung vermutlich nicht oder es reicht, sie kurz zu überfliegen. Ich als blutiger Anfänger habe ein paar Tage gebraucht, mir immer wieder Rat einholen müssen, und wäre froh um diese Anleitung gewesen...
Doch nun an's Werk.


Cygwin installieren

Cygwin ist eine praktische Sammlung von UNIX-typischen Tools, die innerhalb eines Windows-Systems läuft wie die DOS-Konsole - allerdings funktioniert die Bedienung genau wie unter UNIX, mit den dort gängigen Befehlen und Funktionalitäten. Zeilen in dem Format:
$ irgendetwas
symbolisieren einen einzugebenden Befehl in die Eingabezeile (die Bash-Shell) von Cygwin.

1.) Von http://www.cygwin.com/ die setup.exe herunterladen und ausführen. Der Installer ist weitgehend selbsterklärend, es ist auch möglich die herunterladenen Pakete später (zur Reinstallation) zu benutzen. Ansonsten kann man die gespeicherten Pakete auch nach der Installation löschen.
2.) Das empfohlene Verzeichnis ist C:\cygwin. Diese Anleitung bezieht sich auch auf das Standardverzeichnis. Das ausgewählte Verzeichnis entspricht in der Cygwin-Umgebung dem Pfad "/", innerhalb dieses Verzeichnisses kann man mit Cygwin arbeiten, man kann jedoch von Windows aus wie gewohnt auf die Dateien darin zugreifen.
3.) Folgende Packages zusätzlich zu den Standardeinstellungen installieren (jeweils die neueste Version und binary):
Unter der Kategorie "Devel":
cvs (Client zum Abrufen des aktuellen Quelltextes für das DSA Werkzeug, empfohlen)
gcc (GNU Compiler für C++)
make (Führt das Makefile aus)
xerces-c-devel (Herunterladen des binary releases erspart das
Selbstkompilieren von Xerces)
Außerdem unter der Kategorie "Doc" die xerces-c Runtime Library.
Einige Packages erfordern andere, diese werden automatisch für die Installation markiert.
Natürlich kann man viel mehr Pakete installieren, neben diversen UNIX-Tools möchte ich vor allem die Manpages "man" empfehlen.
4.) Die Pakete werden heruntergeladen und anschließend installiert. Außerdem werden Verknüfungen für Cygwin erschaffen, so man dies will (man kann aber auch ganz einfach die cygwin.bat ausführen). Dann Cygwin starten: es erstellt in seinem /home/ Verzeichnis beim ersten Aufruf automatisch ein User-Verzeichnis mit dem Namen des Benutzers unter Windows.


wxWindows installieren

wxWindows liefert die Benutzeroberfläche für das DSA4 Werkzeug. Allerdings muss man es selbst kompilieren, da es wxWindows nicht als binary release für cygwin gibt.

1.) Auf http://www.wxwindows.org/ kann man das Paket (am besten als zip-Archiv) herunterladen, und zwar die aktuelle Version für Windows, wenn man ganz auf Nummer sicher gehen will, nimmt man die Version, die auch das DSA Werkzeug benutzt (zur Zeit wäre wxMSW-2.4.2.zip die erste Wahl).
2.) Das Archiv entpacken, ich habe es einfach in mein User-Verzeichnis unter Cygwin entpackt. Darin sollte sich nun das Verzeichnis wxWindows-2.4.2 befinden, mit allen wxWindows-Dateien.
3.) Cygwin starten und auf das wxWindows-Verzeichnis wechseln, z.B. mit:
$ cd ~/wxWindows-2.4.2
"~" (die Tilde) steht für das User-Verzeichnis.
4.) Jetzt müssen zuerst die Makefiles für wxWindows auf das System angepasst werden, und zwar mit dem mitgelieferten configure-Skript. Der Befehl dazu:
$ ./configure --with-msw --disable-shared
5.) Nachdem configure das Makefile erstellt hat, kann man dieses auch sofort ausführen:
$ make
Das Kompilieren von wxWindows dauert seine Zeit, auf einem alten PC muss man mit einer Stunde rechnen. Am Ende sollte eine Library namens libwxmsw242.a erzeugt werden.
6.) Der abschließende Installationsschritt kopiert wxWindows-Dateien in die üblichen Unterverzeichnisse in Cygwin, sodass sie vom DSA-Werkzeug-Makefile gefunden werden:
$ make install
Das geht schnell. Wenn alles geklappt hat, braucht man nur noch den Quelltext für das DSA4 Werkzeug.


Quelltext herunterladen

Aus dem CVS-Repository von Sourceforge bekommt man immer den aktuellsten Quelltext für das DSA4 Werkzeug. Natürlich ist es genausogut möglich, ein älteres Quelltextpaket von der Homepage herunterzuladen und zu entpacken. Eine ausführliche Bedienungsanleitung von "cvs" würde den Rahmen sprengen, mehr dazu lässt sich z.B. auf den Projekt-Seiten vom DSA4 Werkzeug - http://sourceforge.net/projects/darkeyetool - unter "CVS" erfahren.

Der folgende cvs-Befehl lädt die Quelldateien in ein Unterverzeichnis, das nach dem Modul benannt ist:
$ cd
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/darkeyetool co det
Das erstellt das Verzeichnis ~/det/ und füllt es mit den Dateien aus dem CVS-Modul.


Kompilieren

Nun zum eigentlichen Kompilieren. Wenn alles bisher geklappt hat, sollte der Rest ein Klacks sein. Ein configure-Skript liegt dem Quelltext bei - dieses erkennt Cygwin und erstellt automatisch ein Makefile, so dass man das Makefile nicht selbst einrichten muss.

Das Skript (im /det-Verzeichnis) führt man nun also aus:
$ ./configure

Das Makefile für das DSA4-Werkzeug sollte sich nun in ~/det/ befinden (altes, noch vorhandenes Makefile ggf. löschen). Durch Editieren des
Makefiles kann man noch ein paar Feinabstimmungen durchführen, zum
Beispiel Compilerwarnungen spezifizieren. Auch kann man über die "-O"
Option den Grad der Optimierung regulieren. Zum ersten schnellen
Kompilierversuch ändere man die Option in "-O0" (keine Optimierung),
mehrfache Optimierung macht nur begrenzt Sinn; ich empfehle die
Optimierstufe 1 (einfach "-O").

Jetzt kann man make ausführen:
$ make

Anmerkungen zu "make"
"make" kompiliert und verlinkt nach den Anweisungen in der Datei
"Makefile" (ohne Endung) Quelltextdateien bzw. .o-Files zur det.exe.
Wenn man nun eine Quelltext-Datei ändert und noch einmal "make"
ausführt, werden nur die geänderte Datei und alle von ihr abhängigen
Dateien neu kompiliert und anschließend mit den übrigen .o-Files verlinkt.
Ein paar erweiterte Befehle:
Der Befehl "make clean" löscht alle Dateien, die beim Kompilieren
entstanden sind.
"make clean all" fängt zusätzlich danach mit einem neuen
Kompilierversuch an.
"make -f Makefile2" führt statt der Datei Makefile die genannte Datei
(hier: Makefile2) aus. Das ist ganz praktisch zum Testen.

Wenn im Zuge von neuen Features des DSA4 Werkzeuges neue
Quelltextdateien hinzukommen, kann man diese ganz einfach durch
Ausführen von configure in das Makefile aufnehmen.

Die selbstkompilierte .exe

Man sollte die cygwin1.dll in den Pfad eintragen, damit man die
selbstkompilierte det.exe aus Windows heraus starten kann. Einfach
"C:\cygwin\bin" zur Windows-Umgebungsvariable Path hinzufügen.

Jetzt lohnt es sich, die det.exe zu starten und hoffentlich eine selbstkompilierte, lauffähige, stabile Version auf dem Bildschirm zu haben. Falls ja: Glückwunsch!

Es mag ganz sinnvoll sein, die Debug-Informationen aus der det.exe zu entfernen, was die Dateigröße um einiges reduziert. Das geht mit:
$ strip -s det.exe

Die det.exe kann man jetzt starten, entweder einfach unter Windows oder mit:
$ ./det

Anmerkung zur Datenbasis
Gegebenenfalls muss man (z.B. wenn man schon die vorkompilierte det.exe heruntergeladen und installiert hat) die mitgelieferte Datenbasis manuell importieren, denn Versionsinformation sowie Datenbasis-Pfad des DSA4 Werkzeugs werden in der Registry gespeichert. Wenn der Registry-Eintrag nicht existiert, wird man beim ersten Starten gefragt, ob die Datenbasis importiert werden soll. Die eigene Datenbasis (data.xdi) mit den eigenen Helden muss man evtl. ebenso eigens importieren.
Ich erwähne das, weil der Pfad, der auf die Datenbasis verweist, nur ein einziges Mal in der Registry gespeichert und von allen installierten Versionen verwendet wird. Also besser ein Auge darauf haben.


Bekannte Probleme - MinGW/MSys installieren

Ich habe keine Ahnung warum, aber bei mir klappte configure nur dann einwandfrei, wenn ich vor Cygwin MinGW oder MSys installiert hatte. Der genaue Fehler bei configure war:
checking whether make sets ${MAKE}... eval: 1: Syntax error: Unterminated quoted string

Da ist wohl etwas schiefgelaufen, aber wie gesagt; folgender Workaround half:
Entweder MinGW oder MSys (MSys ist kleiner) herunterladen, beides unter http://www.mingw.org/ zu finden (und dort jeweils das "current" release "bin" für Windows herunterladen). Dann erst cygwin installieren.
Bis jemand den Fehler herausgefunden hat, sei das an dieser Stelle erwähnt.

Stand: 8.12.03


Bugmeldungen SourceForge CVS C++ und STL wxWindows XML und XDI Xerces weitere Pläne Erstellen

e-Mail: denny@nodix.de

design shareright © 2002 Phlash  
inhalt © 2001-04 Denny Vrandecic  
website wurde am 24.04.2004 automatisch vom DSA4 Werkzeug DocGen erzeugt