Categories: Linux

MySQL C-API compile Probleme seit Update auf Ubuntu 11.10

Heute musste ich um einen Fehler ausschließen zu können ein Programm unter Ubuntu 11.10 Compilieren, das Ding verwendet die MySQL C-API recht häufig und beim ersten Versuch habe ich nur jede Menge Fehlermeldungen erhalten:

/tmp/ccx4v7xL.o: In function `checkAuftrag()‘:
auftrag_details1.c:(.text+0x8a): undefined reference to `mysql_query‘
auftrag_details1.c:(.text+0x9c): undefined reference to `mysql_use_result‘
auftrag_details1.c:(.text+0xad): undefined reference to `mysql_fetch_row‘
auftrag_details1.c:(.text+0x302): undefined reference to `mysql_free_result‘
auftrag_details1.c:(.text+0x3eb): undefined reference to `mysql_error‘

Nachdem ich alles Mögliche überprüft habe – Header Dateien installiert, Pfade korrekt gesetzt usw. – habe ich eine Lösung für das Problem gefunden!

Der ursprüngliche Compile Aufruf lautete wie folgt:

g++ -O2 -Wall -lmysqlclient -L/usr/lib/mysql -fPIC -DHAVE_CONFIG_H -I. -I/usr/local/include -I/usr/include/mysql -o auftrag_details1.cgi auftrag_details1.c

Und lieferte die Fehlermeldung von oben, wenn man jetzt einfach nur den Teil mit „-lmysqlclient“ raus nimmt und ganz ans Ende setzt, dann läuft der Compile wieder wie am Schnürchen!

g++ -O2 -Wall -L/usr/lib/mysql -fPIC -DHAVE_CONFIG_H -I. -I/usr/local/include -I/usr/include/mysql -o auftrag_details1.cgi auftrag_details1.c -lmysqlclient

Und schon ist das Programm fertig compiliert…!

Manfred

Recent Posts

Proxmox VE 9 – Netzwerk Interface Zuordnung ändern

Ich bin es gewohnt unter /etc/systemd/network/10-nic0.link die Zurodnung des Netzwerk Interfaces zu seinem Namen "nic0"…

1 Monat ago

Nextcloud – PHP Imagick Fehlermeldung

Nextcloud liefert in den Administrationseinstellungen gelegentlich diese Fehlermeldung: PHP Imagick-Modul Das PHP-Modul "imagick" in dieser…

2 Monaten ago

Postsible: Warum ich meinen eigenen Mail-Server gebaut habe

Ein Mail-Server-Setup das nicht nervt — weil alle anderen Lösungen nervig waren "Wie schwer kann…

6 Monaten ago

M$ & Office 365 haben mir gerade wieder Lebenszeit gekostet – Error 0-2048 (0)

<Sarkasmus>Die besten Softwareentwickler arbeiten bei Microsoft!</Sarkasmus> Als Endanwender würde ich mir Fehlermeldungen erwarten die aussagekräftig…

7 Monaten ago

ESET ohne Web Access Protection Modul installieren

Auf einem Linux Server braucht man eventuell das WAP Modul von ESET nicht, der Weg…

10 Monaten ago

Veeam Agent for Linux ignoriert .vdi Files

Auf einem Linux System mit installiertem Veeam Agent wird auf File-Level Basis eine Sicherung des…

1 Jahr ago