BCS Computersysteme Holzhau Tino Bellmann

Fehler "error while loading shared libraries: libmysqlclient.so.15: " auf dem Webserver

Ein C / C++ Programm mit MySQL-Anbindung wurde auf dem Entwicklungsserver mit GCC kompiliert und funktioniert. Nach der Übertragung auf den Webserver in der produktiven Umgebung startet das Programm nur kurz an und zeigt die Fehlermeldung: "error while loading shared libraries: libmysqlclient.so.15".

Eine Standard-Ursache für das Auftreten dieses Fehlers ist das Fehlen notwendiger Libraries, die die C-Api für Mysql enthalten. Installieren Sie die fehlenden Pakete entweder über yast oder per rpm -i nach (libmysqlclient-devel usw.).

Eine weitere Ursache kann sein, dass die Mysql-Verionen auf dem Entwicklungs- und dem Produktionsserver unterschiedlich sind. Ältere Mysql-Versionen kommen beispielsweise mit der libmysqlclient.so.12, während aktuelle Versionen mindestens die libmysqlclient.so.15 installieren bzw. erfordern.

Stellen Sie sicher, dass auf beiden Servern gleiche Bedingungen herrschen bzw. Versionen installiert sind.  Wenn das selbst entwickelte bzw. fertig kompilierte Programm an Dritte weitergegeben werden soll, ist die Angabe der MySQL-Version zwingend nötig. 

Als Alternative bleibt natürlich immer noch, einen Linux-Rechner mit der älteren Linux-Version zu installieren (gesonderte Festplatte mit Testumgebung) und das selbst entwickelte C++ - Programm auf diesem Rechner für die ältere MySQL-Version nochmals zu kompilieren. Das ist zwar auf lange Sicht nervenaufreibend, aber die beste Variante, um das Programm überhaupt zum Laufen zu bringen.

Optimal ist immer, wenn auf dem Entwicklungssystem die gleichen Software-Versionen wie auf dem späteren Zielsystem installiert sind. Der Folgeaufwand, welcher durch unterschiedliche Systeme bei der Plege der selbst geschriebenen Programme entsteht, ist nicht zu vernachlässigen ! Und wer erst einmal damit anfängt, für jeden Kunden oder Server eine eigene Kompilation zu erstellen, wird über kurz oder lang scheitern. Jede kleine Änderung am C++-Quellcode muß dann auf allen Systemen neu kompiliert und verteilt werden. 

PS: Da die Libraries mit Mysql installiert werden und von der jeweilgen Msql-Verion abhängig sind, besteht meines Wissens nach keine Möglichkeit, diese Libaries in das eigene Programm zu linken.

Informationen zu diesem Artikel:

Redakteur: Tino Bellmann
Erstellt: 17.09.2009
Aktuell: 21.09.2009
Ähnliche Themen: mysql cpp linux libmysqlclient.so.15 libmysqlclient

Webdesign Linux Fonts
Thickbox Demo
Fancybox Demo
Datepicker Web Kalender Demo
Kostenloses Gästebuch
Your IP
Your Hostname
Unicode-Tabelle
Quittung online
Passwort Generator
Kleinanzeigen
CNC Ansteuerungssoftware für SMC800 und SMC1500
Ökobad Rechenberg
Holzhau Skifasching
Festumzug Rechenberg
Holzhau Dorffest
Holzhau Huskyrennen
Freiberger Eisenbahn
Segelfliegen Oschatz
Zoo Leipzig
Pferdebahn Döbeln
Elbsandsteingebirge
Biathlon
Weisseritztalbahn
Dampflok Videos
Döllnitzbahn
Drachenbootcup
Holzhau Videos