Linux

This page is the German Translation of Linux.

Mono installieren

Wenn Sie eine aktuelle Linux-Distribution nutzen, müssten bereits alle erforderlichen Abhängigkeiten für OpenTK Projekte erfüllt sein: Die Mono Laufzeitumgebung und der Mono Compiler. Führen Sie den Befehl "mono --version" und "gmcs --version" aus und überprüfen Sie, ob die Ausgabe ungefähr so aussieht:

$ mono --version
Mono JIT compiler version 1.2.6 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
 
$ gmcs --version
Mono C# compiler version 1.2.6.0

Wenn einer oder beide der Befehle fehlschlagen, müssen Sie Mono nachinstallieren. Mono Pakete müssten in dem Paket-Manager Ihrer Distribution verfügbar sein, sodass folgende Zeile funktionieren müsste:

# Ubuntu und andere .deb-basierende Distributionen
sudo apt-get install mono mono-gmcs
# or
su -c "apt-get install mono mono-gmcs"
 
# Fedora Core und .rpm-basierende Distributionen
su -c "yum install mono mono-gmcs"

Wenn kein Mono Paket verfügbar ist oder es schlicht veraltet ist (mono --version gibt eine Version kleiner als 1.2.6 zurück), sollten Sie Mono selber kompilieren. Es gibt eine Nachricht im Support-Forum, die den Kompiliervorgang von Mono beschreibt.

Alternativ findet man ein Setup für alle gängigen Linux-Distributionen auf der Download-Seite des Mono-Projektes.

Nutzen eines binären Releases

Laden Sie das aktuellste OpenTK Release von der Sourceforge Projektseite herunter und entpacken Sie es:

tar -xvf opentk-0.3.13-mono.tar.gz

Es wird ein neues Verzeichnis mit fünf Unterordnern erzeugt: "Documentation", "Binaries", "Source", "Build" und "Quickstart". Versuchen Sie die Beispiele aus dem zweiten Ordner auszuführen, um zu überprüfen, ob alles funktioniert:

cd opentk-0.9/Binaries/Examples/mono
mono Examples.exe

Nun öffnet sich hoffentlich ein neues Fenster, welches alle verfügbaren Beispiele auflistet. Falls nicht, werfen Sie einen Blick auf den Bereich "Fehlerdiagnose".

Der "Binaries/Libraries" Ordner enthält die Haupt-OpenTK-Assembly (OpenTK.dll) sowie die OpenTK.dll.config Datei - das ist alles was man benötigt, um OpenTK Projekte zu starten. Wenn Sie MonoDevelop nutzen, schauen Sie auch in den "Quickstart" Ordner, um ein fertiges Projekt zu sehen. Als letztes sollte Sie nicht vergessen in die "Release Notes" im "Documentation" Ordner zu schauen.

Fehlerdiagnose

Der folgender Fehler wurde auf Fedora Core 8 beim Ausführen der Examples.exe gemeldet:

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.Form ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: gdiplus.dll
  at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
  at System.Drawing.GDIPlus..cctor () [0x00000] --- End of inner exception stack trace ---

Dies wird durch einen fehlenden Eintrag in "etc/mono/config" verursacht. Um das Problem zu beseitigen, öffnen Sie die eben genannte Datei (als root) und fügen Sie die folgende Zeile hinzu:

<dllmap dll="gdiplus.dll" target="/usr/lib/libgdiplus.so.0"

Nun müssten die Beispiele funktionieren.

OpenTK eigenhändig kompilieren

Das Build-System von OpenTK nutzt NAnt, daher muss dieses zuerst installiert werden:

# Ubuntu
sudo apt-get install nant
 
# Debian
su -c "apt-get install nant"
 
# Fedora
su -c "yum install nant"

Ist das einmal geschafft, kann man den Quellcode entpacken und in den Build-Ordner wechseln:

unzip opentk-0.9.zip
cd opentk-0.9/Build
mono Build.exe mono

Nach dem Ende der Kompilation befinden sich die Build-Produkte im "Binaries"-Ordner. Um die Debug-Version zu kompilieren, hängen Sie "debug" an den Befehl an, sodass der Befehl wie folgt aussieht:

mono Build.exe mono debug