[[Vorlage(archiviert,)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Packprogramme: Archive entpacken] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./Logo.png,, align=left)]] Spiele der Firma [http://www.lokigames.com/ Loki Software, Inc.] {en} benötigen oft ganz spezielle Versionen einiger Bibliotheken. Da Linux ständig weiterentwickelt wird und bei aktuellen Linux-Betriebssystemen insbesondere eine neuere Version der [wikipedia:Glibc:GNU C-Bibliothek] zum Einsatz kommt, müssen die benötigten Bibliotheken zusätzlich in der benötigten Version bereitgestellt werden. '''Loki_compat''' ist ein Archiv, welches diese Bibliotheken enthält. Die im Internet kursierenden Versionen enthalten unterschiedliche Bibliotheken, weshalb man nicht nur eine Quelle nutzen sollte, um fehlende '''.so'''-Dateien (''shared object'') zu finden. Je nach Version sind unterschiedlich viele Bibliotheken enthalten, weshalb man hier genauer schauen sollte, was man benötigt. = Installation = Für die Installation von einer der [#Quellen Internetseiten] die Bibliotheken herunterladen und entpacken [3]. Den Ordner '''Loki_Compat''' mit [:sudo:Root-Rechten] nach '''/opt/Loki_Compat''' oder '''/usr/local/games/Loki_Compat''' verschieben [1], damit er im [#Starter Starter] hinterlegt werden kann: {{{#!vorlage Befehl sudo mv Loki_Compat /opt/Loki_Compat # Pfad ggf. anpassen }}} == Quellen == ## Bitte weitere Quellen hinzufügen!!! ## [http://www.statux.org/content?page=catalog&catagory=6&product=lokilib lokilib] {en} - Repository * [holarse::][http://files.holarse-linuxgaming.de/native/Tools/loki_compat/ holarse-linuxgaming.de] {dl} * [https://app.box.com/s/7i17s7z2xvj8o5mymvjw3xrhw67byonx box.com] {dl} (aktueller) = Starter = Bei Spielen - in diesem Beispiel [:Spiele/SimCity_3000:SimCity] - muss der Pfad zu den benötigten Bibliotheken im Starter mitgegeben werden [2]: {{{#!code bash #!/bin/bash LCPATH=/opt/Loki_Compat SC3U=/usr/local/games/SC3U echo Running from $SCPATH LANG=english cd $SCPATH export LD_LIBRARY_PATH=$LCPATH LD_ASSUME_KERNEL=2.2.5 $LCPATH/ld-linux.so.2 $SC3U/sc3u }}} Mitunter sind zur Ausführung weitere [#Umgebungsvariablen Umgebungsvariablen] erforderlich. Startet ein Spiel trotzdem nicht, kann es sein, dass weitere Bibliotheken fehlen. Um in Erfahrung zu bringen, welche dies sind, nutzt man [#Bibliotheken ldd]. == Umgebungsvariablen == Umgebungsvariablen werden in [:Umgebungsvariable:diesem] Artikel detailliert behandelt. Hier eine Auflistung der Variablen, welche meist bei Anwendungsstartern verwendet werden: ||<-2 tablestyle="width: 95%;" rowclass="titel"> Umgebungsvariablen|| || Variable||Beschreibung|| ||`LD_ASSUME_KERNEL=Kernelversion`||Bei Problemen mit [wikipedia:Native_POSIX_Thread_Library:NTPL] kann die Umgebungsvariable helfen z.B. `LD_ASSUME_KERNEL=2.4.1` Hier nutzt das System den vorgegebenen Kernel.|| ||`LD_LIBRARY_PATH=`||Suchpfade für [#Bibliotheken Bibliotheken] z.B. `LD_LIBRARY_PATH=/lib/Loki_Compat/ /opt/Loki_Compat/ld-linux.so.2 /usr/local/games/Heroes3/heroes3.dynamic`|| ||`LD_PRELOAD=`||Die Funktionen der hier aufgeführten Bibliotheken haben Vorrang.|| = Bibliotheken = '''ldd''' zeigt, welche Bibliotheken von einem Programm verwendet werden. Im folgenden Beispiel werden die benötigten Bibliotheken, '''.so'''-Dateien, von [:Spiele/SimCity_3000:SimCity] angezeigt: {{{#!vorlage Befehl ldd sc3u linux-gate.so.1 => (0xb7f97000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb7e78000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb7e69000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e64000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e4b000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7e25000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7cc7000) libxcb-xlib.so.0 => /usr/lib/libxcb-xlib.so.0 (0xb7cc4000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb7cab000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb7ca7000) /lib/ld-linux.so.2 (0xb7f7d000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7ca2000) }}} Es werden zur Ausführung des Spiels diverse Bibliotheken benötigt. Ihr Fundort im Dateisystem ist rechts zu ersehen. In der Regel findet man diese in '''/lib''', '''/usr/lib''' und '''/usr/local/lib'''. Im Beispiel sind alle Bibliotheken auf dem System vorhanden. == Hinzufügen == Um Bibliotheken hinzuzufügen das gewünschte Paket, z.B. '''libg++2.8.1.3-glibc2.2_2.95.4-24_i386.deb''', herunterladen und entpacken [3]. Nun den entpackten Ordner öffnen und ebenfalls die darin enthaltene '''data.tar.gz''' entpacken. Den Ordner '''/usr/lib''' öffnen und die benötigten '''.so'''-Dateien in den Ordner kopieren in dem sich '''Loki_Compat'''-Dateien befinden. = Links = * [wikipedia:Programmbibliothek#Unix-artige:Programmbibliothek] * [http://www.linux-user.de/ausgabe/2005/06/082-libraries/ linux-user 06/05] {de} * [http://ubuntuforums.org/showthread.php?t=21087 Reports on old Loki games compatibility] {en} # tag: Spiele, Loki, Linux-Spiel