GMod-Server lädt die mysql.so.16 nicht

Die laut ldd fehlenden Libs (libtier0.so, libvstdlib.so) liegen schon mit in Orangebox/bin, dass er diese hat sieht man sogar in seinem letzten Screenshot. Sie liegen halt nur nicht in Verzeichnissen die durch /etc/ld.so.conf referenziert sind.

Apropro /etc/ld.so.conf, hast du diese denn editiert und danach ggf. vergessen ein "ldconfig" auszuführen?
 
Last edited by a moderator:
Nein, ich meine die Libs, welche von ldd als fehlend markiert sind.

Das ist normal. Da das Startscript den Pfad zu den Libs mit LD_LIBRARY_PATH einbindet, werden diese auch geladen (alle anderen Systemlibs sucht er in diesem Pfad dann auch zuerst, was nicht gut ist). Ansonsten könnte man den Gameserver nicht starten. Die Libs sind proprietär und die bekommt man wohl kaum als freie Version.

Kannst ja in das Verzeichnis wechseln und folgendes ausführen:
Code:
LD_LIBRARY_PATH=. ldd lua_shared.so

Du wirst sehen, dass die drei fehlenden Libs gefunden werden. Wenn er sie nicht laden würde, könntest du deinen GS nicht starten.
Ich weiß nicht wieso die Entwickler diesen Weg gehen, aber so ist es seit der HL1-Engine.

Viel schlimmer ist, dass Libs die normal durch das OS verwaltet werden, durch den Server mitgeliefert und auch verwendet werden. Unter anderem die libgcc, libstdc und curl. Böse Menschen können dort ansetzen, wenn der Provider auf seine Serverdateien nicht acht gibt. Einfacher ist es aber die srcds_run auszutauschen :-(
 
@ Dead_Eye
So jetzt das große Problem: Wenn du Debian einsetzt, dann wird die Version von libgcc nicht aktuell genug sein
Server: strings /lib/libgcc_s.so.1 | grep GCC
GCC_3.0
GCC_3.3
GCC_3.3.1
GCC_3.4
GCC_3.4.2
GCC_3.4.4
GCC_4.0.0
GCC_4.2.0
GCC_4.3.0
Server strings bin/libgcc_s.so.1 | grep GCC
strings: 'bin/libgcc_s.so.1': No such file

@thekraix
Apropro /etc/ld.so.conf, hast du diese denn editiert und danach ggf. vergessen ein "ldconfig" auszuführen?

Nein ist nicht geschehen, einfügen wurde auch versucht kein erfolg.


LD_LIBRARY_PATH=. ldd lua_shared.so

libsteam.so => not found
libtier0.so => not found
libvstdlib.so => not found

Die einzigsten die not found sind.
 
Last edited by a moderator:
Also bei dir muss es irgendeinen Mechanismus geben, der LD_LIBRARY_PATH verhindert. Normal wird die Umgebungsvariable gelöscht, wenn das Programm, welches ausgeführt wird, das setuid/setgid flag hat oder wenn etwas mit sudo aufgerufen wird.

Die drei Libs braucht der Server normal, damit er überhaupt startet. Das Shell-Script srcds_run setzt zuvor LD_LIBRARY_PATH:

Code:
export LD_LIBRARY_PATH=".:bin:$LD_LIBRARY_PATH"

Ich glaube wir sind bei dem Problem in einer Sackgasse gelandet. Es kann nicht daran liegen. Werden denn andere Lua-Scripts ohne Datenbankanbindung ausgeführt?

Ich hab in dem Forum des Script-Entwicklers noch etwas entdeckt:
http://www.facepunch.com/showthread.php?t=933647&p=37338946&viewfull=1#post37338946

Ich frage mich nur, wieso zu Hölle die Datei die Endung .dll hat. Wo sie hin soll und welchen Namen sie haben sollte, hab ich auf die Schnelle nicht gesehen.

Erstelle mal als erstes von der installierten libmysql.so.16 einen Symlink in orangebox/bin/

Ich hatte schon des öfteren Probleme mit fehlenden Libs. Bisher ließen sich diese Probleme aber durch installieren der notwendigen Pakete beheben. Das hin- und herkopieren von irgendwelchen Libs ist keine saubere Lösung.
 
Also dieses Plugin läuft laut aussagen von einigen Leuten und nach dem Realese so:

Man lädt sich die Linux Version runter (zumindest in meinem fall)
Dann nimmt man sie die beiden modul dateinnormal heißen die beiden datein:
gmcl_mysqloo_<win oder irgendwie so>.dll und gmsv_mysqloo_<wieder ein oder so>.dll. Diese muss man dann anpassen sprich man bearbeitet ab der stelle wo ich die kleiner und größer geschrieben habe und nennt sie _linux.dll bei beiden datein.

Diese kommen dann nach garrysmod/lua/include/module/
---- So das wäre soweit die Installation-----

Gewundert habe ich mich am Anfang auch mal über die .dll aber diese muss wohl garrysmod verarbeiten können. Da garrysmod normal über eine sqlight Datenbank läuft. Diese wird letztlich auf die selbe weise geladen in dem verzeichniss wie bereits oben angeben gibt es noch die sqlight.dll datein (wieder 2) diese werden aber schon standart mäßig mitgeliefert.

Soviel nun dazu, und bezüglich eines Symlink dieses hatte ich auch schon versucht leider wieder mit dem gleichen, nicht funktionierenden Ergebnis.

Achso und was du da gepostet hast ist die Linux Version zu gmod13 was die Leute bereits neu angepasst haben.

Edit: Habe ich ganz vergessen, ja andere scripts die keine Datenbank benutzen werden geladen und auch ausgeführt.
 
Es gibt schon Gmod13? Ich kannte bisher nur 9.x (freie Version) und GMod 10. Ist die 13er Version jetzt sowas wie eine Beta?
 
Back
Top