In eurer Diplomarbeit werdet ihr sehr wahrscheinlich Bauhaus kompilieren und erweitern bzw. ändern müssen. Das Auschecken und kompilieren ist ein wenig kompliziert, wird aber im Axivion-Wiki ausführlich beschrieben (ihr müsst euch dort anmelden, um lesen zu können). Zu den dort beschriebenen Voraussetzungen gehört der Ada-Compiler GNAT, der nicht frei verfügbar ist sowie einige andere (freie) Tools und Bibliotheken, die zum Teil in bestimmten Versionen vorliegen müssen.
Zugang zu GNAT bekommt ihr von uns. Hier gibt es grundsätzlich zwei Möglichkeiten:
Beides erfordert den Zugriff auf das Verzeichnis /home/bauhaus im Fachbereichsnetz. Diesen haben alle User der Gruppe bauhaus, in die euch Raimar einladen wird, sobald ihr die nötigen Zettel bei Rainer unterschrieben habt. Wenn ihr im Uni-Netz arbeiten möchtet könnt ihr dort unter /home/bauhaus/users zudem ein eigenes Verzeichnis ohne Quota für die Zwecke eurer Diplomarbeit erhalten.
Im Folgenden beschreiben wir wie ihr GNAT auf den beiden unterschiedlichen Wegen einrichten könnt
/* UndefinedMacro: TableOfContents(2) */
GNAT und die weitere Programme, die in speziellen Versionen benötigt werden, sind in /home/bauhaus bereits installiert. Zusammen mit den Paketen, die auf den Rechnern der Arbeitsgruppe installiert erfüllen diese die Voraussetzungen, um Bauhaus zu bauen. Ihr könnt die installierten Werkzeuge verwenden, indem ihr entsprechende Pfade setzt. Ein Script hilft euch dabei. Hierzu müsst ihr zunächst Bauhaus wie im Axivion-Wiki beschrieben auschecken und dann folgendes in eurer .bashrc (liegt in eurem Homeverzeichnis) hinzufügen:
$(/home/bauhaus/scripts/setup_bauhaus_paths.sh <Pfad zu eurem ausgecheckten Bauhaus>)
Danach müsst ihr eine neue Shell öffnen, damit die Änderungen aktiv werden. Durch obigen Eintrag werden bei jedem Öffnen einer Shell die Pfade für Bauhaus gesetzt. Ihr könnt diese Zeile wie beschrieben in eure .bashrc übernehmen, damit sie bei jedem Login ausgeführt werden. Dabei ist aber zu warnen, dass ihr damit euren gcc umstellt, was eventuell zu Problemen beim Kompilieren anderer Programme führen kann. Besser ist es die Anweisung in eine eigene Datei auszulagern, die ihr bei Bedarf, also vor dem Bauen von Bauhaus, per source aufruft.
Wenn die Pfade richtig gesetzt sind sollte which gcc folgendes ausgeben.
harder@sts6:~$ which gcc /home/bauhaus/installed/gnatpro-6.2.1-64bit/bin/gcc
Lautet das Ergebnis stattdessen /usr/bin/gcc oder völlig anders, ist etwas schiefgegangen.
Sind die Pfade richtig gesetzt, könnt ihr Bauhaus auf unseren Kisten mit dem im Axivion-Wiki beschriebenen Ablauf bauen. In der Regel sollte ein einfaches
cd <Pfad zu Bauhaus> ./configure make
ausreichen. Der Übersetzungsprozess dauert allerdings eine Weile. Von unseren Servern sind sts5 und sts6 deutlich flinker als sts1 und sts2.
Um Bauhaus zu bauen benötigt ihr eine der folgenden Linux-Distributionen:
Mit anderen Distributionen haben wir keine praktischen Erfahrungen und können bei Problemen eventuell nur eingeschränkt helfen. Wir raten daher dringend zu einem aktuellen Ubuntu. Um Bauhaus auf eurem Rechner zu kompilieren müsst ihr GNAT wie im Axivion-Wiki beschrieben installieren.
Installationsscript auf euren Rechner laden: ///home/bauhaus/scripts/install_gnat_6.2.1.sh// (ab Ubuntu 8.10 muss ///home/bauhaus/scripts/install_gnat_6.2.1-ubuntu8.10.sh// verwendet werden). Dieses muss in das gleiche Verzeichnis wie die Archive aus dem vorherigen Schritt. Installationsscript anpassen: //basepath// auf ein Installationsverzeichnis eurer Wahl setzen (empfohlen: /usr/local/gnat) * <file> #!/bin/bash
set -e set -x date base=/usr/local/gnat ... </file>
Installationsscript als root ausführen. Vermutlich werden euch hierbei Fehlermeldungen begegnen, die aufgrund fehlender Pakete auftreten, oder weil Software aus /home/bauhaus noch kopiert werden muss. In diesem Fall den Anweisungen des Scripts folgen. Im Zweifel bei uns nachfragen. Swig entpacken und installieren. Bspw: * <file> tar xzvf swig-1.3.29qq-patched.tar.gz cd swig-1.3.29 ./configure --prefix=/usr/local/gnat/swig-1.3.29-patched make make install </file>
Ocaml installieren: * <file> tar xzvf ocaml-3.10.0.tar.gz cd ocaml-3.10.0 ./configure -prefix /usr/local/gnat/ocaml-3.10.0 make world make opt make install </file>
Bauhaus auschecken. Siehe [[https://axivion2.tz.uni-stuttgart.de/dokuwiki/doku.php?id=bauhaus|Axivion-Wiki]]. Umgebungsvariablen richtig setzen. Dazu zieht ihr euch ///home/bauhaus/scripts/setup_bauhaus_paths.sh// auf euren Rechner und passt die Pfade am Dateianfang an. Bei den hier verwendeten Pfaden also: * <file> #!/bin/bash
set -e base=/usr/local/gnat swig=$base/swig-1.3.29-patched ocaml=$base/ocaml-3.10.0 </file>
Das angepasste Script ruft ihr von eurer .bashrc auf (liegt in eurem Homeverzeichnis). Dazu fügt ihr dieser folgende Zeile hinzu: * <file> $(/euer/pfad/zu/setup_bauhaus_paths.sh <Pfad zu eurem ausgecheckten Bauhaus>) </file>
Danach müsst ihr eine neue Shell öffnen, damit die Änderungen aktiv werden. Durch obigen Eintrag in der werden die Pfade für Bauhaus gesetzt. Ihr könnt diese Zeile wie beschrieben in eure .bashrc übernehmen, damit sie bei jedem Login ausgeführt werden. Dabei ist aber zu warnen, dass ihr damit euren gcc umstellt, was eventuell zu Problemen beim Kompilieren anderer Programme führen kann. Besser ist es die Anweisung in eine eigene Datei auszulagern, die ihr bei Bedarf, also vor dem Übersetzen von Bauhaus, per source aufruft.
Wenn die Pfade richtig gesetzt sind sollte which gcc etwas ähnliches wie das folgende ausgeben (wenn ihr die gleichen Pfade wie in dieser Anleitung benutzt habt):
> which gcc /usr/local/gnat/gnatpro-6.0.2/bin/gcc
Lautet das Ergebnis stattdessen /usr/bin/gcc oder völlig anders, ist etwas schiefgegangen.
Sind die Pfade richtig gesetzt, könnt ihr Bauhaus auf unseren Kisten mit dem im Axivion-Wiki beschriebenen Ablauf bauen. In der Regel sollte ein einfaches
cd <Pfad zu Bauhaus> ./configure make
ausreichen. Der Übersetzungsprozess dauert allerdings eine Weile.
Als Ada-IDE wird GPS mitgeliefert. Sollte dies über das Kommando gps nicht starten, bitte gps_exe stattdessen versuchen.
… kommt am besten in den IRC-Chat.