MySQL auf Ubuntu
- juelin
- Beiträge: 237
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
MySQL auf Ubuntu
Hallo,
Ihr habt mir ja prima geholfen mit meinem MySQL Problem auf Windows.
Jetzt wollte ich das auch in Linux (Ubuntu) einsetzen.
Habe Package ZEOS installiert.
Habe die Komponenten ZConnection und ZQuery eingebunden
und die Eigenschaften entsprechend gesetzt.
Wenn ich nun den Befehl: ZConnection1.Connect ausführe bekomme ich die Fehlermeldung:
Fehlerklasse: EZSQL Exception
None of dynamic libraries can be found, is not loadable
File: libmysqlclient.so.21.2.36 steht in /usr/lib/lazarus/2.2.0/
und habe ich bei ZConnection1 in der Eigenschaft LibrariyLocation angegeben.
Es gibt auch das File libmysqlclient.so.21. Habe ich auch probiert, geht aber auch nicht.
Könnt ihr nochmal helfen?
Danke und Gruß
Jürgen
Ihr habt mir ja prima geholfen mit meinem MySQL Problem auf Windows.
Jetzt wollte ich das auch in Linux (Ubuntu) einsetzen.
Habe Package ZEOS installiert.
Habe die Komponenten ZConnection und ZQuery eingebunden
und die Eigenschaften entsprechend gesetzt.
Wenn ich nun den Befehl: ZConnection1.Connect ausführe bekomme ich die Fehlermeldung:
Fehlerklasse: EZSQL Exception
None of dynamic libraries can be found, is not loadable
File: libmysqlclient.so.21.2.36 steht in /usr/lib/lazarus/2.2.0/
und habe ich bei ZConnection1 in der Eigenschaft LibrariyLocation angegeben.
Es gibt auch das File libmysqlclient.so.21. Habe ich auch probiert, geht aber auch nicht.
Könnt ihr nochmal helfen?
Danke und Gruß
Jürgen
- willi4willi
- Lazarusforum e. V.
- Beiträge: 167
- Registriert: Sa 1. Nov 2008, 18:06
- OS, Lazarus, FPC: Windows, Linux (debian) / Lazarus 3.2 / FPC 3.2.2
- CPU-Target: i386, win64, arm
Re: MySQL auf Ubuntu
Ich mache das so:
Ich nutze die 64 -bit Debian Version von Linux.
Wichtig ist, dass die richtige Version der Lib auf die Datei libmariadb.so einen Link hat.
Hast du das Paket libmariadb-dev und/oder mariadb-client installiert?
Nutzt du auch 64 bit oder noch 32-bit?
Code: Alles auswählen
if LibraryLocation='' then
begin
{$IFDEF WINDOWS}
{$IfDef Win32}
LibraryLocation:=ExtractFilePath(ParamStr(0))+'libmariadb32.dll';
{$EndIf}
{$IfDef Win64}
LibraryLocation:=ExtractFilePath(ParamStr(0))+'libmariadb64.dll';
{$EndIf}
{$ENDIF}
{$IFDEF LINUX}
LibraryLocation:='/lib/x86_64-linux-gnu/libmariadb.so';
{$ENDIF}
end;
Wichtig ist, dass die richtige Version der Lib auf die Datei libmariadb.so einen Link hat.
Hast du das Paket libmariadb-dev und/oder mariadb-client installiert?
Nutzt du auch 64 bit oder noch 32-bit?
Viele Grüße
Willi4Willi
------------
-
- Beiträge: 1058
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: MySQL auf Ubuntu
ich würde davon Abstand nehmen Bibliothekspfade und Zugriffsdaten im Source hart rein zu codieren.
Irgend eine Installation im OS ändert sich und schon steht das Programm.
Bei mir stehen Zugriffsdaten in INI Files (die bei Bedarf auch gerne verschlüsselt sein können). Damit kann man das Programm auf die Datenbank ohne erneute Kompilierung anpassen. Das geht so weit dass man damit auch unterschiedliche Datenbanken verwenden kann.
SQLDB und ZEOS haben die Fähigkeit unterschiedliche SQL-Datenbanken bei gleichemm Code zu unterstützen. (Wenn man sich aus SQL-Server-Seite nicht aus den inkompatiblen Funktionen bedient und nahe an den SQL Standards wie SQL89 SQL92 bleibt)
Eine Zugriffskomponente auf SQLDB Basis findest du hier: https://github.com/CharlyTango/ct_sqldatabaseconnection
Leider habe ich sie noch nicht auf Dualbetrieb ZEOS/SQLDB angepasst. Nachdem aber nichts exotisches verwendet wird, kann man die SQLDB Komponenten durch ZEOS-Komponenten ersetzten und es sollte auch mit ZEOS klappen.
Die Strategie ist jedenfalls dabei ersichtlich
Irgend eine Installation im OS ändert sich und schon steht das Programm.
Bei mir stehen Zugriffsdaten in INI Files (die bei Bedarf auch gerne verschlüsselt sein können). Damit kann man das Programm auf die Datenbank ohne erneute Kompilierung anpassen. Das geht so weit dass man damit auch unterschiedliche Datenbanken verwenden kann.
SQLDB und ZEOS haben die Fähigkeit unterschiedliche SQL-Datenbanken bei gleichemm Code zu unterstützen. (Wenn man sich aus SQL-Server-Seite nicht aus den inkompatiblen Funktionen bedient und nahe an den SQL Standards wie SQL89 SQL92 bleibt)
Eine Zugriffskomponente auf SQLDB Basis findest du hier: https://github.com/CharlyTango/ct_sqldatabaseconnection
Leider habe ich sie noch nicht auf Dualbetrieb ZEOS/SQLDB angepasst. Nachdem aber nichts exotisches verwendet wird, kann man die SQLDB Komponenten durch ZEOS-Komponenten ersetzten und es sollte auch mit ZEOS klappen.
Die Strategie ist jedenfalls dabei ersichtlich
- juelin
- Beiträge: 237
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MySQL auf Ubuntu
Hallo zusammen,
leider ist es bis jetzt noch nicht möglich unter Linux (Ubuntu) auf die MySQL Datenbank in Lazarus zu zugreifen.
willi4willi: es geht um Linux nicht Windows
Ich benutze ZEOS aber er kann die Library libmysqlclint.so.21 nicht laden.
charlytango: ich habe deinen Vorschlag das Package installiert. Bringt aber leider auch nichts. Der kann die Libray auch nicht laden.
Es ist übrings eine MySQL Datenbank unter Ubuntu (nicht MariaDB).
Die MySQL Workbench in Ubuntu funktioniert einwandfrei.
Wer kann mir da helfen??????
Besten Dank und Gruß
Jürgen
leider ist es bis jetzt noch nicht möglich unter Linux (Ubuntu) auf die MySQL Datenbank in Lazarus zu zugreifen.
willi4willi: es geht um Linux nicht Windows
Ich benutze ZEOS aber er kann die Library libmysqlclint.so.21 nicht laden.
charlytango: ich habe deinen Vorschlag das Package installiert. Bringt aber leider auch nichts. Der kann die Libray auch nicht laden.
Es ist übrings eine MySQL Datenbank unter Ubuntu (nicht MariaDB).
Die MySQL Workbench in Ubuntu funktioniert einwandfrei.
Wer kann mir da helfen??????
Besten Dank und Gruß
Jürgen
-
- Beiträge: 1058
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: MySQL auf Ubuntu
ok, dann mal von vorne:
Nur zur Info, ich bin kein Linux-Guru, das können andere hier weit besser, aber im wesentlichen ist meine Basisstrategie für mich auf jedem OS gleich.
1 - den gewünschten SQL Server installieren
2 - ein Zugriffs- bzw Adminprogramm installieren von dem man weiß dass es grundsätzlich funktioniert. (Aus meiner Sicht brauche ich so eine Admintool ohnedies, weil es MIR einiges erleichtert.). Hier findest du einige. Beim schnellen drüberschauen würde ich es mal mit MySQL Workbench versuchen, das ist wenigstens kostenfrei.
3 - Mit dem Admin-Tool einmal auf den SQL Server und die DB zugreifen
Danach weiß ich mal, dass der SQL Server und ein Zugriffsmechanismus funktioniert.
Meine Komponente hat einige Standard-Suchpfade eingebaut in denen sie automatisch nach der Bibliothek sucht (wenn nur der Bibliotheksname im INI Fil angegeben ist und nicht gleich der ganze qualifizierte Pfad.) Trotzdem kann es sein dass die Zugriffsblibliothek nicht gefunden wird wenn der Pfad oder die Rechte nicht stimmen.
Als Nebenmaßnahme würde ich einfach mal die ganze Platte nach der datei durchsuchen lassen, denn wie gesagt -- kein Linux- Guru, daher weiß ich auch nicht wohin die Programme installiert werden. Soweit ich weiß kann das in unterschiedlichen Verzeichnissen passieren.
Und ja, als DB-Frontend-Entwickler hat man es leider mit der gesamten Kette bis zum SQL-Server zu tun. Daher empfehle ich erst mal Schritt 1 bis 3, danach ist man meistens schlauer.
Edit -- sorry, hab überlesen dass die Workbench schon funktioniert
Nur zur Info, ich bin kein Linux-Guru, das können andere hier weit besser, aber im wesentlichen ist meine Basisstrategie für mich auf jedem OS gleich.
1 - den gewünschten SQL Server installieren
2 - ein Zugriffs- bzw Adminprogramm installieren von dem man weiß dass es grundsätzlich funktioniert. (Aus meiner Sicht brauche ich so eine Admintool ohnedies, weil es MIR einiges erleichtert.). Hier findest du einige. Beim schnellen drüberschauen würde ich es mal mit MySQL Workbench versuchen, das ist wenigstens kostenfrei.
3 - Mit dem Admin-Tool einmal auf den SQL Server und die DB zugreifen
Danach weiß ich mal, dass der SQL Server und ein Zugriffsmechanismus funktioniert.
Meine Komponente hat einige Standard-Suchpfade eingebaut in denen sie automatisch nach der Bibliothek sucht (wenn nur der Bibliotheksname im INI Fil angegeben ist und nicht gleich der ganze qualifizierte Pfad.) Trotzdem kann es sein dass die Zugriffsblibliothek nicht gefunden wird wenn der Pfad oder die Rechte nicht stimmen.
Als Nebenmaßnahme würde ich einfach mal die ganze Platte nach der datei durchsuchen lassen, denn wie gesagt -- kein Linux- Guru, daher weiß ich auch nicht wohin die Programme installiert werden. Soweit ich weiß kann das in unterschiedlichen Verzeichnissen passieren.
Was auch passieren kann ist, dass die Datei die du brauchst gar nicht real existiert, sondern nur als Symlink. Wenn so ein Symlink dann mal auf ein nicht existierendes File oder einen falschen Namen zeigt, dann klappt es auch nicht.juelin hat geschrieben: Di 10. Sep 2024, 19:40 File: libmysqlclient.so.21.2.36 steht in /usr/lib/lazarus/2.2.0/
und habe ich bei ZConnection1 in der Eigenschaft LibrariyLocation angegeben.
Es gibt auch das File libmysqlclient.so.21. Habe ich auch probiert, geht aber auch nicht.
Und ja, als DB-Frontend-Entwickler hat man es leider mit der gesamten Kette bis zum SQL-Server zu tun. Daher empfehle ich erst mal Schritt 1 bis 3, danach ist man meistens schlauer.
Edit -- sorry, hab überlesen dass die Workbench schon funktioniert
Zuletzt geändert von charlytango am Mi 11. Sep 2024, 22:35, insgesamt 1-mal geändert.
-
- Beiträge: 1058
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: MySQL auf Ubuntu
oh sorry, da hab ich was überlesen.
ich habe keine Ahnung ob die Workbench nicht ihre eigene Bibliotheken mit installiert.
Aber irgendwo muss doch die verdammt Datei auf der Platte sein.
Allerdings.....
Unter Windows braucht Lazarus selbst Zugriff auf eine Bibliotheksdatei (da kopiert man diese ins Verzeichnis mit der Lazarus.exe) wenn man in der GUI Zugriff auf die Daten haben will bzw die Connection prüfen/öffnen will.
Für die von Lazarus erzeugten EXE gelten dann wieder andere Bedingungen, da muss die Bibliothek von der erzeugten EXE erreicht werden können -->also das EXE Verzeichnis oder ein definiertes anderes, wenn du selbst den Pfad setzt oder direkt ins \System32 Verzeichnis odere das \SysWOW64 (nicht täuschen lassen, die 64bit Versionen gehören ins \System32)
Ich nehme stark an dass für Linux ähnliches gilt -- versuchst du in der GUI zu connecten oder in der danach laufende EXE (bzw deren Linux-Entsprechung)?
ich habe keine Ahnung ob die Workbench nicht ihre eigene Bibliotheken mit installiert.
Aber irgendwo muss doch die verdammt Datei auf der Platte sein.
Allerdings.....
Unter Windows braucht Lazarus selbst Zugriff auf eine Bibliotheksdatei (da kopiert man diese ins Verzeichnis mit der Lazarus.exe) wenn man in der GUI Zugriff auf die Daten haben will bzw die Connection prüfen/öffnen will.
Für die von Lazarus erzeugten EXE gelten dann wieder andere Bedingungen, da muss die Bibliothek von der erzeugten EXE erreicht werden können -->also das EXE Verzeichnis oder ein definiertes anderes, wenn du selbst den Pfad setzt oder direkt ins \System32 Verzeichnis odere das \SysWOW64 (nicht täuschen lassen, die 64bit Versionen gehören ins \System32)
Ich nehme stark an dass für Linux ähnliches gilt -- versuchst du in der GUI zu connecten oder in der danach laufende EXE (bzw deren Linux-Entsprechung)?
- af0815
- Lazarusforum e. V.
- Beiträge: 6762
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: MySQL auf Ubuntu
Das was willi4will da gezeigt hat, ist gar nicht mal so schlecht (Ich verwende ein ähnliches Konstrukt)
Linux - fast alle Linuxoide sind 64 Bit, RasPi ist eine der wenigen Ausnahmen (da gibt es 32 & 64 Bit).
Das erste ist man sollte mal herausfinden, welche library ZEOS standardmässig sucht. Ist es libmariadb.so oder libmysqlclient.so ?
Wenn das mal klar ist, so sollte man auf der Platte mal dannach suchen, wichtig das man auch die Ergenisse mit den Versionsnummern und die Symlinks sieht. Warum, meistens wird mit den *-dev Paketen mehr oder minder nur ein Symlink erstellt Beispiel libmariadb.so -> libmariadb.so.21 . Deswegen immer wieder der Rat die Developer Pakte zu installieren.
Erst wenn man wirklich die richtigen Namen kennt, so kann man den in LibraryLocation angeben und dort immer den kompletten Pfad.
Dann ist die Wahrscheinlichkeit recht groß das es funktioniert. Habe es so sowohl unter SqlDB als auch ZEOS zum laufen gebracht (Bei Programmen die sowohl unter Win32, Win4, RasPi32 und Linux64 laufen, einfach nur die Kompilierung umschalten
)
Linux - fast alle Linuxoide sind 64 Bit, RasPi ist eine der wenigen Ausnahmen (da gibt es 32 & 64 Bit).
Das erste ist man sollte mal herausfinden, welche library ZEOS standardmässig sucht. Ist es libmariadb.so oder libmysqlclient.so ?
Wenn das mal klar ist, so sollte man auf der Platte mal dannach suchen, wichtig das man auch die Ergenisse mit den Versionsnummern und die Symlinks sieht. Warum, meistens wird mit den *-dev Paketen mehr oder minder nur ein Symlink erstellt Beispiel libmariadb.so -> libmariadb.so.21 . Deswegen immer wieder der Rat die Developer Pakte zu installieren.
Erst wenn man wirklich die richtigen Namen kennt, so kann man den in LibraryLocation angeben und dort immer den kompletten Pfad.
Dann ist die Wahrscheinlichkeit recht groß das es funktioniert. Habe es so sowohl unter SqlDB als auch ZEOS zum laufen gebracht (Bei Programmen die sowohl unter Win32, Win4, RasPi32 und Linux64 laufen, einfach nur die Kompilierung umschalten

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- juelin
- Beiträge: 237
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MySQL auf Ubuntu
Hallo,
hier nochmal zum besseren Verständnis ein paar Screenshots aus meinem Ubuntu.
Fehlermeldung ist die Meldung, die kommt wenn ich im Programm ZConnection1 Connecte (ZEOS).
MySQLWorkbench ist die Ausgabe von MySQLWorkbench (die Datenbank läuft).
find ist die Ausgabe vom FIND-Aufruf in Ubuntu.
Ich hoffe das brint Euch weiter.
Gruß
Jürgen
PS: habe es mit allen libmysql aus dem FIND probiert. Nichts funktioniert.
hier nochmal zum besseren Verständnis ein paar Screenshots aus meinem Ubuntu.
Fehlermeldung ist die Meldung, die kommt wenn ich im Programm ZConnection1 Connecte (ZEOS).
MySQLWorkbench ist die Ausgabe von MySQLWorkbench (die Datenbank läuft).
find ist die Ausgabe vom FIND-Aufruf in Ubuntu.
Ich hoffe das brint Euch weiter.
Gruß
Jürgen
PS: habe es mit allen libmysql aus dem FIND probiert. Nichts funktioniert.
- Dateianhänge
-
MySQLWorkbench.jpg
- (114.31 KiB) Noch nie heruntergeladen
-
find.txt
- (530 Bytes) 80-mal heruntergeladen
-
Fehlermeldung.jpg
- (93.57 KiB) Noch nie heruntergeladen
Re: MySQL auf Ubuntu
Wieso liegt die lib in /usr/lib/lazarus/2.2.0/ ?
Schon mal probiert, die testweise als "libmysqlclient.so.21" in /usr/lib zu legen? (Oder ein Symlink oder LD_LIBRARY_PATH setzen...)
Schon mal probiert, die testweise als "libmysqlclient.so.21" in /usr/lib zu legen? (Oder ein Symlink oder LD_LIBRARY_PATH setzen...)
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: MySQL auf Ubuntu
libmysqlclient.so.21.2.36 <> libmysqlclient.so.21
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: MySQL auf Ubuntu
Für mich sieht das eher so aus, als ob Lazarus aus den Ubuntu-Repos installiert wurde, was für mich ein "Pfui bäh" ist (und zwar genau wegen den ganzen Pfad-Geschichten. Hatte immer nur Ärger damit)theo hat geschrieben: Do 12. Sep 2024, 13:26 Wieso liegt die lib in /usr/lib/lazarus/2.2.0/ ?
Schon mal probiert, die testweise als "libmysqlclient.so.21" in /usr/lib zu legen? (Oder ein Symlink oder LD_LIBRARY_PATH setzen...)
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
- juelin
- Beiträge: 237
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MySQL auf Ubuntu
Hallo Lazarus-Fans,
recht herzlichen Dank für Eure Unterstützung.
Der Tipp in Linus die libmaysqlclient Files nach /usr/lib zu kopieren hat es gebracht.
Man braucht in der Komponente ZConnection1 nicht mal (im Gegensatz zu Windows)
die Eigenschaft LibraryLocation ausfüllen.
Jetzt klappt also der Zugriff auf meine MySQL-Datenbank mit Lazarus unter Ubuntu,
Also nochmal Danke.
Gruß
Jürgen
recht herzlichen Dank für Eure Unterstützung.
Der Tipp in Linus die libmaysqlclient Files nach /usr/lib zu kopieren hat es gebracht.
Man braucht in der Komponente ZConnection1 nicht mal (im Gegensatz zu Windows)
die Eigenschaft LibraryLocation ausfüllen.
Jetzt klappt also der Zugriff auf meine MySQL-Datenbank mit Lazarus unter Ubuntu,
Also nochmal Danke.
Gruß
Jürgen
-
- Beiträge: 1058
- Registriert: Sa 12. Sep 2015, 12:10
- OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
- CPU-Target: Win 32/64, Linux64
- Wohnort: Wien
Re: MySQL auf Ubuntu
Gratuliere, soweit klappt es mal.juelin hat geschrieben: Do 12. Sep 2024, 19:50 Der Tipp in Linus die libmaysqlclient Files nach /usr/lib zu kopieren hat es gebracht.
Trotzdem ist der Thead für mich noch etwas unbefriedigend, denn der Tipp von Theo lief ja eigentlich auf einen Workaround hinaus.
Wo liegt jetzt wirklich der Hund begraben dass es nicht geklappt hat?
@juelin : Hast du Lazarus aus den Ubuntu-Repositories installiert
oder aus den Sourcen? (also z.B. mit fpcupdeluxe) ?Zvoni hat geschrieben: Do 12. Sep 2024, 14:41 Für mich sieht das eher so aus, als ob Lazarus aus den Ubuntu-Repos installiert wurde
Denn ich nehme an, die Installation von MySQL Server und Client lief über die Ubuntu-Repositories und sollte wohl standardisiert sein?
- af0815
- Lazarusforum e. V.
- Beiträge: 6762
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: MySQL auf Ubuntu
Dann wäre noch interessant, von wo er die libs nach /usr/lib kopiert hat, weil unter Linux kopiert man nicht, sondern man macht einen entsprechenden Symlink. Den sollten aber die entsprechenden *-dev Pakete ja setzen. Oder ist da wieder mal an den Pfaden in der Distribution gedreht worden ?charlytango hat geschrieben: Fr 13. Sep 2024, 08:47 Denn ich nehme an, die Installation von MySQL Server und Client lief über die Ubuntu-Repositories und sollte wohl standardisiert sein?
Edit:
Die Pakete verstecken das je nach Architektur.
Paket "libmysqlclient21" für amd64
Paket "libmysqlclient21" für armhf (Raspi)/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.21.2.39
Wenn dann keiner die Symlinks richtig setzt, so geht das nur Distributions-Versionsspezfisch./usr/lib/arm-linux-gnueabihf/libmysqlclient.so.21
/usr/lib/arm-linux-gnueabihf/libmysqlclient.so.21.2.39
Was bei Win die DLL-Hölle ist, ist bei Linux die Symlink-Hölle

Kopieren ist damit nicht der richtige Weg, weil dadurch keine Bugfixes mitbehandelt werden, also geht nur der Symlink weg um das sauber zu machen. Daher wird eine veraltete Lib bei der kopierten Version nicht automatisch upgedatet und man tritt sich damit eine langfristige Mine ein. Auch wenn man die DIstribution upgraded würde die alte Version bestehen bleiben und das macht dann sicher irgendwann (wenn man nicht mehr daran denkt) überraschende Probleme die man fast nicht findet.
Zuletzt geändert von af0815 am Fr 13. Sep 2024, 09:16, insgesamt 1-mal geändert.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- juelin
- Beiträge: 237
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: MySQL auf Ubuntu
Habe die libmysqlclient von /usr/lib/lazarus nach /usr/lib kopiert.
Gruß
Jürgen
Gruß
Jürgen