Debian Linux: libmysqlclient_15 not defined in file libmysqlclient.so.15

Szenario:
Es wird ein Webserver mit jeweils neustem Apache, MySQL und PHP benötigt. Distribution Debian Etch. Zyniker sagen: "Falsche Distribution gewählt". Dem ist nichts hinzuzufügen.

mysql-5.0.51a-linux-i686-icc-glibc23.tar.gz ist installiert nach /usr/local/mysql. MySQL läuft.

Nun wurde PHP gegen die Files unter /usr/local/mysql/include kompiliert. Die configure Zeilen sahen so aus:

'--with-mysql=/usr/local/mysql' \
'--with-pdo_mysql=/usr/local/mysql' \

Nachdem ich fertig war spuckte sowohl der Apache als auch "make test" Fehler aus:

Beim Starten von Apache:

Syntax error on line 417 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: symbol floor, version libmysqlclient_15 not defined in file libmysqlclient.so.15 with link time reference

Bei "make test":

/usr/src/php-5.2.6/sapi/cli/php: relocation error: /usr/src/php-5.2.6/sapi/cli/php: symbol isinf, version libmysqlclient_15 not defined in file libmysqlclient.so.15 with link time reference

Als Workaround habe ich libmysqlclient15-dev installiert und gegen die Debian Libs kompiliert:

'--with-mysql=/usr' \
'--with-pdo_mysql=/usr' \

Resultat: Keine Fehler mehr

Wer weiß woher der Fehler kommt, darf sich gerne melden. Auf jedenfall war das eine Version früher (sowohl MySQL als auch PHP) nicht der Fall.

1 Gedanke zu „Debian Linux: libmysqlclient_15 not defined in file libmysqlclient.so.15“

  1. Seit Ewigkeiten gibts diesen Ärger bei der Erkennung der richtigen Mysql-Umgebung, wenn auf der Maschine mehrere Versionen von Mysql sind - z.B. eine eigene tgz-Version und die Debian-Pakete. Das php-configure gaukelt vor, man könne selbst den Pfad mitgeben, tatsächlich wird aber die Systemkonfiguration ermittelt und verwendet.

    Ergo: /etc/ld.so.conf und Konsorten anpassen und ldconfig ( ggf. mit -v, zum Zuschauen) aufrufen, dann klappts auch mit dem richtigen mysqlclient in php.

Schreibe einen Kommentar