UDF в Firebird 2.5

sunduk
Дата: 22.05.2012 09:43:08
Доброго дня всем.
Имеем FirebirdCS-2.5.0 на Linux CentOS 6.2. Подключаю к базе набор удф rfunc

DECLARE EXTERNAL FUNCTION WORDCOUNT
    CSTRING(16383),
    CSTRING(31),
    SMALLINT
RETURNS INTEGER BY VALUE
ENTRY_POINT 'fn_wordcount' MODULE_NAME 'rfunc';


при использовании получаю -

invalid request BLR at offset 60.
function WORDCOUNT is not defined.
module name or entrypoint could not be found.


Что может быть не так? Права проверил, в конфиге доступ к удф дал. Одним словом - пните в нужную сторону, пожалуйста.
kdv
Дата: 22.05.2012 10:47:21
бинарник сами под centos скомпилировали? или взяли тот бинарник, который в архиве, и которому уже 9 лет?
sunduk
Дата: 22.05.2012 10:57:15
Архивный, естественно..
Сейчас попробую перекомпилить пакет..
sunduk
Дата: 22.05.2012 11:34:01
Пересобрал пакет, проблема осталась -

invalid request BLR at offset 60.
function WORDCOUNT is not defined.
module name or entrypoint could not be found.
kdv
Дата: 22.05.2012 11:45:16
чего-то ему не хватает, скорее всего каких-то еще библиотек.
Dimitry Sibiryakov
Дата: 22.05.2012 11:48:36

ldd тебе в руки.

Posted via ActualForum NNTP Server 1.5

Ivan_Pisarevsky
Дата: 22.05.2012 11:58:58
уж давно бы обертку на SQL набросал в виде хранимки, поглядел исходник, что эта функция трактует как разделитель и вперед, делов на часок/другой с перекурами и тестированием. Заведомо быстрей, чем пытаться компилировать софт позапрошлой пятилетки.
Мимопроходящий
Дата: 22.05.2012 12:01:29

Hello, kdv!
You wrote on 22 мая 2012 г. 12:01:03:

kdv
чего-то ему не хватает, скорее всего каких-то еще
библиотек.
если не ошибаюсь, rFunc тащит клиента.
за что и гонима лесом.

Posted via ActualForum NNTP Server 1.5

sunduk
Дата: 22.05.2012 12:12:14
Вывод ldd -
[root@gate70 UDF]# ldd rfunc
        linux-gate.so.1 =>  (0x0077b000)
        libm.so.6 => /lib/libm.so.6 (0x00fc8000)
        libib_util.so => /usr/lib/libib_util.so (0x009b7000)
        libfbclient.so.2 => /usr/lib/libfbclient.so.2 (0x009bf000)
        /lib/ld-linux.so.2 (0x002ff000)
        libc.so.6 => /lib/libc.so.6 (0x0059b000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00e88000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00466000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00bc3000)
        libdl.so.2 => /lib/libdl.so.2 (0x00d74000)
        libncurses.so.5 => /lib/libncurses.so.5 (0x00110000)
        libtinfo.so.5 => /lib/libtinfo.so.5 (0x00c83000)

как-то про первую библиотеку ни разу слышать не приходилось.. пошел мучать гугл..
sunduk
Дата: 22.05.2012 12:15:39
Ivan_Pisarevsky,

Да библиотека скомпилилась, в том то и оно. Функции из нее пользовать не могу. Хранимку написать не проблема, но удф то использовать удобнее. Тем более функцию собираюсь использовать не одну оттуда.