Hallo zusammen,
wir arbeiten derzeit daran, unseren
FB Server auf Linux zu migrieren, unter Win verwenden wir derzeit FB2.5 (daher habe ich FB2.5 als ergänzende Angabe für den Thread hinterlegt).
Da ich selbst leider nahezu keine Erfahrung mit Linux habe, haben wir uns dafür Unterstützung geholt.
Die Installation der Virtualisierung auf dem Host, der VM und von
FB hat gut geklappt, der
FB Server läuft, Datenbanken können aus der Sicherung vom aktuellen FB2.5 Server (erzeugt mit dem
FB CL Befehl "gback") importiert werden und angesprochen werden.
Leider bekommen wir eine notwendige UDF Library nicht zum laufen (FreeAdhocUDF (
http://freeadhocudf.org) ), wir bekommen den Fehler
Use of UDF/BLOB-filter module at location FreeAdhocUDF is not allowed by server configuration.
Zuerst haben wir es mit FB3 versucht und sind an Fehlern beim UDF aufruf z.B. in selects gescheitert. Dann haben wir es mit FB4 versucht und sind ebenfalls gescheitert.
Uns ist nicht klar, welche Server Konfiguration (darauf verweist die Fehlermeldung) wir falsch eingestellt haben.
Kann mir jemand dazu Hilfe bzw. Tipps beben? Das wäre klasse. Dazu sind natürlich weitere Infos nötig, im Folgenden versuche ich die Details so gut wie möglich zu beschreiben.
Vorher noch eine Anmerkung zum Thema UDF Ablösung:
sicher werden in Zukunft auch bei uns die UDF durch aktuelle Konzepte ersetzt, derzeit möchten wir das aber aus pragmatischen Gründen (viele Abfragen müssen dafür geändert werden) derzeit noch nicht angehen .. wenn möglich.
Unten nun die Detais zu unserem Problem.
Danke und Gruß
Markus
Was wir aktuell erledigt haben:
- Aufbau Linux Host (HP DL380 Gen9) -> erledigt
- Installation Virtualisierung Proxmox 7.4.3 -> erledigt
- Aufsetzen einer Linux VM (Debian 11) -> erledigt
- Installation Firebird 4.0 -> erledigt
Hier die Eckdaten der VM für den
FB Server:
- Debian 11 64bit
- uname -a sagt: Linux RMVM18 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux
Firebird haben wir sowohl über apt installiert...
firebird3.0-common 3.0.7.33374.ds
firebird3.0-server 3.0.7.33374.ds
firebird3.0-server-core q3.0.7.33374.ds
firebird3.0-utils q3.0.7.33374.ds
... als auch alternativ direkt mit den Installations-Paketen von
https://firebirdsql.org/en/firebird-3-0/#Linux_AMD64:
https://github.com/FirebirdSQL/fireb...0.amd64.tar.gz
Am Ende haben wir es dann noch mit der 4er-Version probiert:
https://github.com/FirebirdSQL/fireb...0.amd64.tar.gz
Die Abhängigkeiten von den zusätzlich zu installierenden lib-Dateien
haben wir erfolgreich geprüft mit...
ldd FreeAdhocUDF.so
Ergebnis:
cd.1 (0x00007fff557da000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fae5a559000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fae5a384000)
libib_util.so => /lib/x86_64-linux-gnu/libib_util.so (0x00007fae5a37f000)
libicudataFAU.so.44 => /lib/x86_64-linux-gnu/libicudataFAU.so.44
(0x00007fae5933f000)
libicui18nFAU.so.44 => /lib/x86_64-linux-gnu/libicui18nFAU.so.44
(0x00007fae58f65000)
libicuucFAU.so.44 => /lib/x86_64-linux-gnu/libicuucFAU.so.44
(0x00007fae58c12000)
libfbclient.so.2 => /lib/x86_64-linux-gnu/libfbclient.so.2
(0x00007fae58a6e000)
/lib64/ld-linux-x86-64.so.2 (0x00007fae5a8d3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007fae58a4c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fae58a46000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fae58879000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fae5885f000)
libtommath.so.1 => /lib/x86_64-linux-gnu/libtommath.so.1
(0x00007fae5883d000)
Einstellung in der firebird.conf:
UdfAccess = Restrict (mit/ohne Pfadangaben, alle möglichen Pfade probiert, auch Full)
Das Ergebnis ist leider aber identisch: die Einbindung von FreeAdhocUDF gelingt NICHT, es kommt beim Aufruf
Code:
Select f_abs(-1) from rdb$database;
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Use of UDF/BLOB-filter module at location FreeAdhocUDF is not
allowed by server configuration.
-------------------------------------------------------------------------------------------------------------
SQLCODE: -902
SQLSTATE: 28000
GDSCODE: 335544831