Theory of Combinatorial Algorithms Institute for Theoretical Computer Science Department of Computer Science ETH Zurich

Vorwort

Diese Anleitung richtet sich an alle Studenten, die an einem Linux Rechner arbeiten, sei es nun ihr eigener oder ein ETH Rechner. Sollten Sie der Vorlesung an einem Windows oder OS X Rechner folgen wollen, dann gehen Sie bitte zur VirtualBox Anleitung.

Makefile Anleitung

Diese Anleitung sollte auf einer Vielzahl von Distributionen funktionieren. Es muss jedoch ein C++ Compiler installiert sein. Als Beispiel verwenden wir hier den Desktop-Ordner als Ziel. Sie können das Setup aber auch in einem Ordner Ihrer Wahl einrichten, müssen dann aber die Pfade anpassen.
  1. Laden Sie sich IFMP_15_Linux.tgz herunter und speichern Sie die Datei auf dem Desktop. (Falls Sie in einem ETH Computerraum keine Dateien auf den Desktop ziehen können, versuchen Sie, ob Sie im Datei-Manager nach einem Klick links auf Home im rechten Bereich einen Ordner Desktop zur Auswahl haben. Falls ja, dann können Sie eventuell so Dateien auf dem Desktop ablegen. Falls nein, speichern Sie die Datei einfach in einem beliebigen anderen Ordner in Ihrem Home-Verzeichnis, müssen dann aber im Rest dieser Erklärung die Pfade entsprechend anpassen.)
  2. Entpacken Sie die soeben herunter geladene Datei. Um die Datei zu entpacken können Sie im Terminal den Befehl
    tar -xvf IFMP_15_Linux.tgz
    eingeben. Sie müssen sich dazu nur im richtigen Verzeichnis (Desktop) befinden (also nötigenfalls via cd ~/Desktop/ auf den Desktop navigieren). Es sollte ein Ordner progs auf Ihrem Desktop entstanden sein.
  3. Bleiben Sie im Terminal und wechseln Sie ins Verzeichnis progs/libraries (durch Eingabe von cd progs/libraries/ ). Dann geben Sie
    make install
    im Terminal ein. Die Bibliotheken sollten nun kompiliert und installiert werden. Es wird zusätzlich noch eine Datei .emacs in Ihr Heimverzeichnis kopiert. Die alte Datei wird hierbei ungefragt überschrieben. Wenn Ihnen das nichts sagt, dann brauchen Sie sich darum nicht zu kümmern. Falls Sie Emacs früher schon verwendet haben und eine eigene Konfigurationsdatei besitzen, müssen Sie diese zu Beginn sichern. Es kann vorkommen, dass make install fehlschlägt. In diesem Fall könnte Ihnen Bemerkung 2 unten helfen.
  4. Damit sind wir schon fertig. Wenn Sie nun eine Datei mit der Endung .cpp mit Emacs öffnen, dann sollten Sie diese mit [F9] kompilieren können. Die einzige Voraussetzung hierfür ist, dass Sie die Datei Makefile aus dem Ordner progs/lecture in demselben Verzeichnis haben wie die Datei, die Sie kompilieren wollen. Sie können das Makefile einfach an den entsprechenden Ort kopieren. Weitere Emacs Befehle entnehmen Sie bitte unserem Unix Intro (Abschnitt 2).

Weitere Bemerkungen

  1. Wenn Sie Ihren eigenen Linux Rechner verwenden, dann kann es sein, dass die sogenannten X11 Header Dateien fehlen. Sie bemerken dies an einer langen Fehlermeldung beim Kompilieren, die zu Beginn üblicherweise "X11.h not found" enthält. Sie müssen nun ein Package installieren, welches diese Headerdateien enthält. Zum Beispiel das Package xorg-dev. Allerdings kann dieses Package bei einigen Versionen von Ubuntu mit Unity Desktop (z.Bsp. Version 12.04) zu Komplikationen führen. Installieren Sie in diesem Fall zum Beispiel libx11-dev anstatt xorg-dev.

    Achtung!

    Installieren Sie das Package nur, wenn Sie wissen was Sie tun! Als gefahrlose Alternative können Sie auch VirtualBox für Linux installieren. Folgen Sie danach der VirtualBox Anleitung. Ein Package installieren Sie mit folgendem Befehl (Debian, Ubuntu):
    sudo apt-get install <package>
    Dies funktioniert aber nicht in den ETH-Computerräumen.

  2. Wenn Sie der obigen Beschreibung gefolgt sind, aber beispielsweise Fehler bei der Verwendung von ifmp::integer auftreten, so ist vermutlich bei make install ein Problem aufgetreten. Wenn Sie diesen Schritt ausgelassen haben, sollte sich das Problem beheben lassen, indem sie einfach nachträglich diesen Schritt nachholen. Haben Sie diesen Schritt aber ausgeführt, und das Problem tritt dennoch auf, so ist vermutlich das Makefile nicht mit der installierten Version von gcc kompatibel. (Sie sehen dies daran, dass make install mit einer Fehlermeldung in Stil von
    Makefile:73: recipe for target 'libwindow' failed
    make: *** [libwindow] Error 1
    abbricht. Dies wurde uns beispielsweise für manche ETH-Computerräume berichtet.) Versuchen Sie in diesem Fall, die obige Anleitung mit folgender tgz-Datei nochmals zu wiederholen:
    IFMP_15_Linux_2.tgz
    Sollten die Probleme weiterhin bestehen, wenden Sie sich an Ihren Übungsleiter.

Last modified: , by Christian Zingg. Valid HTML 4.0! Valid CSS!