# teamspeak-server-bin startprobleme

## Gladdle

Ich bekomme beim Starten von media-sound/teamspeak-server-bin-3.0.0_beta20 zwar die Nachricht "Starting TeamSpeak 3 Server ... [ ok ]" aber in der Logdatei steht folgender Fehler:

```
|CRITICAL|DatabaseQuery |   | unable to load database plugin library "libts3db_mysql.so", halting!
```

Also schnell gesucht und den Gentoo Bug Nummer 303621 gefunden. Laut deren Aussage muss man die Zeile 

```
export LD_LIBRARY_PATH="/opt/teamspeak3-server/:$LD_LIBRARY_PATH"

```

 hinzufügen und das ganze funktioniert. Nun sieht meine /etc/init.d/teamspeak3-server so aus:

```
#!/sbin/runscript

# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/media-sound/teamspeak-server-bin/files/teamspeak3-server.rc,v 1.3 2010/01/20 17:55:02 trapni Exp $

depend() {

   need net

   use mysql

}

start() {

   ebegin "Starting TeamSpeak 3 Server"

   # temporay fix for EPERM bug

   rm -f /dev/shm/7gbhujb54g8z9hu43jre8

        # fix

        export LD_LIBRARY_PATH="/opt/teamspeak3-server:$LD_LIBRARY_PATH"

   start-stop-daemon --start --quiet --background \

      --pidfile "/var/run/teamspeak3-server/server.pid" --make-pidfile \

      --chuid "teamspeak3" --chdir "/opt/teamspeak3-server" \

      --exec "/opt/teamspeak3-server/ts3server-bin" -- \

      inifile="/etc/teamspeak3-server/server.conf"

   eend $?

}

stop() {

   ebegin "Stopping TeamSpeak Server"

   start-stop-daemon --stop --quiet \

      --pidfile "/var/run/teamspeak3-server/server.pid"

   eend $?

}

restart() {

   svc_stop

   sleep 3

   svc_start

}
```

Der Fehler besteht jedoch weiterhin, die Daten sind aber im Verzeichniss vorhanden. Kann mir jemand Helfen denn ich steh gerade auf dem Schlauch.

Nachtrag:

Hier die komplette log Datei:

```
timestamp|INFO    |ServerLibPriv |   | Server Version: 3.0.0-beta20 [Build: 10413], Linux

timestamp|INFO    |DatabaseQuery |   | Please make sure you use the supplied ts3server_minimal_runscript.sh to run the server, or set LD_LIBRARY_PATH yourself

timestamp|CRITICAL|DatabaseQuery |   | unable to load database plugin library "libts3db_mysql.so", halting!
```

Last edited by Gladdle on Sun Mar 21, 2010 7:34 pm; edited 1 time in total

----------

## Evildad

Was sagt denn ein 

```
ldd /opt/teamspeak3-server/ts3server-bin
```

----------

## Gladdle

Hier die Ausgabe:

```
        linux-vdso.so.1 =>  (0x00007fff45d7d000)

        libdl.so.2 => /lib/libdl.so.2 (0x00007fc3fc1bd000)

        librt.so.1 => /lib/librt.so.1 (0x00007fc3fbfb4000)

        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fc3fbd97000)

        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 (0x00007fc3fba96000)

        libm.so.6 => /lib/libm.so.6 (0x00007fc3fb813000)

        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fc3fb5fd000)

        libc.so.6 => /lib/libc.so.6 (0x00007fc3fb2a1000)

        /lib64/ld-linux-x86-64.so.2 (0x00007fc3fc3c1000)
```

Hier noch meine /etc/teamspeak3-server/server.conf:

```
machine_id=

default_voice_port=9987

voice_ip=0.0.0.0

licensepath=/opt/teamspeak3-server/

filetransfer_port=30033

filetransfer_ip=0.0.0.0

query_port=10011

query_ip=0.0.0.0

### Datenbankoptionen

dbplugin=ts3db_mysql

dbpluginparameter=/etc/teamspeak3-server/ts3db_mysql.ini

dbsqlcreatepath=create_mysql/

dbsqlpath=/opt/teamspeak3-server/sql/

### Logdateien

logpath=/var/log/teamspeak3-server/

logquerycommands=0
```

----------

## Evildad

Ok mach mal noch:

```
ldd libts3db_mysql.so
```

----------

## Gladdle

```
ldd /opt/teamspeak3-server/libts3db_mysql.so

        linux-vdso.so.1 =>  (0x00007fff4efa4000)

        libmysqlclient.so.15 => not found

        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/libstdc++.so.6 (0x00007f17f2bc0000)

        libm.so.6 => /lib/libm.so.6 (0x00007f17f293d000)

        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f17f2727000)

        libc.so.6 => /lib/libc.so.6 (0x00007f17f23ca000)

        /lib64/ld-linux-x86-64.so.2 (0x00007f17f30fd000)
```

Ich habe TS3 Server ja auch schon mal neu installiert.

----------

## Evildad

libmysqlclient.so.15 gibt es aber schon auf deinem System, oder?

----------

## Gladdle

```
revdep-rebuild --library libmysqlclient.so.15

 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies

 * Packages containing binaries and libraries using libmysqlclient.so.15

 * will be emerged.

 * Collecting system binaries and libraries

 * Generated new 1_files.rr

 * Checking dynamic linking 

[ 100% ]                 

 * There are no dynamic links to libmysqlclient.so.15... All done. 
```

Und nun bin ich Ratlos. dev-db/mysql-5.1.44-r1 ist installiert.

----------

## firefly

 *Gladdle wrote:*   

> 
> 
> ```
> revdep-rebuild --library libmysqlclient.so.15
> 
> ...

 

revdep-rebuild wird dir hier nicht helfen, da die libts3db_mysql.so in einem verzeichnis liegt, die, soweit ich weis, nicht von revdep-rebuild auf libs überprüft wird.

Und Evildad meinte du solltest mal schauen ob und welche version von libmysqlclient.so installiert ist. Die müsste eigentlich im /usr/lib Verzeichnis befinden.

----------

## Gladdle

ls -lha1 /usr/lib/*mysql*

```
lrwxrwxrwx 1 root root   32 21. Mär 23:31 /usr/lib/libmysqlclient_r.so -> mysql/libmysqlclient_r.so.16.0.0

lrwxrwxrwx 1 root root   32 21. Mär 23:31 /usr/lib/libmysqlclient_r.so.16 -> mysql/libmysqlclient_r.so.16.0.0

lrwxrwxrwx 1 root root   32 21. Mär 23:31 /usr/lib/libmysqlclient_r.so.16.0 -> mysql/libmysqlclient_r.so.16.0.0

lrwxrwxrwx 1 root root   32 21. Mär 23:31 /usr/lib/libmysqlclient_r.so.16.0.0 -> mysql/libmysqlclient_r.so.16.0.0

lrwxrwxrwx 1 root root   30 21. Mär 23:31 /usr/lib/libmysqlclient.so -> mysql/libmysqlclient.so.16.0.0

lrwxrwxrwx 1 root root   30 21. Mär 23:31 /usr/lib/libmysqlclient.so.16 -> mysql/libmysqlclient.so.16.0.0

lrwxrwxrwx 1 root root   30 21. Mär 23:31 /usr/lib/libmysqlclient.so.16.0 -> mysql/libmysqlclient.so.16.0.0

lrwxrwxrwx 1 root root   30 21. Mär 23:31 /usr/lib/libmysqlclient.so.16.0.0 -> mysql/libmysqlclient.so.16.0.0
```

----------

## firefly

Da haben wir das problem. Anscheinend ist das mysql plugin von teamspeak 3 nur kompatible mit mysql < 5.1.

Entweder du machst ein downgrade auf mysql 5.0.x oder du verwendest das sqlite backend, falls dies funktioniert.

hier noch ein paar infos: http://forum.teamspeak.com/showthread.php?t=50353

----------

## Evildad

Oder aber Du versuchst nen wilden Hack und linkst /usr/lib/libmysqlclient.so auf die fehlende /usr/lib/libmysqlclient.so.15.

Aber alles ohne Gewähr und ner Warnung, dass das sehr unschön ist   :Very Happy: 

----------

## Gladdle

```
echo ">=dev-db/mysql-5.1.39-r1" >> /etc/portage/package.mask

echo ">=virtual/mysql-5.1" >> /etc/portage/package.mask

emerge --update --deep --newuse @world

revdep-rebuild
```

Und das ganze läufft fehlerfrei. Vielen dank für euere Hilfe. Und entschuldigt das späte nachposten, aber Schule und Sport (Hobby) haben Vorrang  :Smile: 

----------

## Josef.95

Falls noch von Interesse

 [Howto]TeamSpeak 3 Server mit MySQL

----------

## Whitewolf Fox

 *Evildad wrote:*   

> Oder aber Du versuchst nen wilden Hack und linkst /usr/lib/libmysqlclient.so auf die fehlende /usr/lib/libmysqlclient.so.15.
> 
> Aber alles ohne Gewähr und ner Warnung, dass das sehr unschön ist  

 

Ebenfalls unschön, aber ich glaube wenigstens *etwas* schöner, weil ihr keine Symlinks in Systempfaden setzen müsst (wo ggf. später kompilierte Programme sich ebenfalls von irritieren lassen) und ebenfalls die MySQL Version fahren könnt die Ihr wollt:

 Besorge Dir die libmysqlclient.so.15.0.0 Datei von einem Build-Chain kompatiblen System (gleiche GCC Version, gleiche Arch, etc.). Das geht z.B. indem Du, wie vorgeschlagen, erst MySQL in Version 5.1 installiertst, die Dateien wegkopierst und wieder die MySQL Version, die Du möchtest installierst.

 Lege das Verzeichnis /usr/local/lib64 an ; aus /usr/local hält sich der Paketmanager heraus.

 Kopiere die Datei libmysqlclient.so.15.0.0 dort hinein; ebenso einen Symlink namens libmysqlclient.so.15, der auf diese Datei zeigt.

Sollte nun relativ störungsfrei laufen.

----------

