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.