![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: -
FreeAdhocUDF und Linux
Hallo zusammen,
ich muss einige FB-Datenbanken auf neue Datenbankerver umziehen, die mit RHEL5 laufen (die alten liefen unter Windows2003). Die Datenbanken nutzen u.a. UDFs aus der FreeAdhocUDF. Bei deren Installation habe ich ein ziemlich hartnäckiges Problem und hoffe, dass mit jemand den richtigen Tipp geben kann. Die FB-Engine ist installiert und läuft, Zugriff auf die Datenbanken ist sowohl über localhost als auch über Netzwerk möglich. Die Zugriffsberechtigungen (z.B. UDFAccess) habe ich zu Testzwecken auf "Full" gesetzt. Die UDFs sind in der DB definiert:
Code:
Die Abhängigkeiten der FreeAdhocUDF sind erfüllt:
[root@SRV-FB01 firebird]#/opt/firebird/bin/isql -user SYSDBA -password masterkey MY_DB
Database: MY_DB, User: SYSDBA SQL> select F.RDB$FUNCTION_NAME, F.RDB$ENTRYPOINT from RDB$FUNCTIONS F; RDB$FUNCTION_NAME RDB$ENTRYPOINT =================================================== =============================== RDB$GET_CONTEXT get_context RDB$SET_CONTEXT set_context F_REPLACESTRING replacestring F_MODULO modulo F_STRINGLENGTH stringlength F_SUBSTR strsub SQL> show function F_MODULO; Function F_MODULO: Function library is FreeAdhocUDF Entry point is modulo Returns FREE_IT INTEGER Argument 1: INTEGER Argument 2: INTEGER SQL> show function F_STRINGLENGTH; Function F_STRINGLENGTH: Function library is FreeAdhocUDF Entry point is stringlength Returns FREE_IT INTEGER Argument 1: CSTRING(255) CHARACTER SET ISO8859_1 SQL>
Code:
Beim Aufruf der UDFs bekomme ich jedoch diesen Fehler:
[root@SRV-FB01 firebird]# ldd /opt/firebird/UDF/FreeAdhocUDF.so
libm.so.6 => /lib64/libm.so.6 (0x00002b2b4515c000) libc.so.6 => /lib64/libc.so.6 (0x00002b2b453df000) libib_util.so => /usr/lib64/libib_util.so (0x00002b2b45736000) libfbclient.so.2 => /usr/lib64/libfbclient.so.2 (0x00002b2b45838000) /lib64/ld-linux-x86-64.so.2 (0x0000003e4c000000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b2b459de000) libdl.so.2 => /lib64/libdl.so.2 (0x00002b2b45bf9000) libncurses.so.5 => /usr/lib64/libncurses.so.5 (0x00002b2b45dfe000) libstdc++.so.5 => /usr/lib64/libstdc++.so.5 (0x00002b2b4605b000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b2b46336000) [root@SRV-FB01 firebird]#
Code:
Die installierte Version ist die adhoc20090128a. Der Fehler tritt genauso auch bei der adhoc20090925 (mit korrekt verlinkten icu30-Libs) auf. Mit der aktuellen adhoc20101111 konnte ich es nicht genau testen, da die enthaltenen icu44-Libs ihrerseits glibc2_7 brauchen, welches aber unter RHEL5 nicht als fertiges Package verfügbar ist und der Fehler so schon wegen dieser Abhängigkeit auftritt.
Database: MY_DB, User: SYSDBA
SQL> select F_MODULO(10, 7) from RDB$DATABASE; Statement failed, SQLCODE = -104 invalid request BLR at offset 60 -function F_MODULO is not defined -module name or entrypoint could not be found SQL> select F_STRINGLENGTH('bla') from RDB$DATABASE; Statement failed, SQLCODE = -104 invalid request BLR at offset 60 -function F_STRINGLENGTH is not defined -module name or entrypoint could not be found SQL> Bin mächtig ratlos und für jede Hilfe dankbar :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz