Subject | Re: [ib-support] Disapointed (was: Writing UDF for Linux) |
---|---|
Author | Bill Katelis |
Post date | 2002-11-13T05:51:09Z |
Milan ...
try this ...
1. make sure modulo is the function name in modulo.c
2. Give the full path to the shared library modulo ...
ie.
declare external function f_Modulo
integer, integer
returns
integer by value
entry_point 'modulo' module_name '/opt/interbase/UDF/modulo';
hth
bill
Milan Babuskov wrote:
try this ...
1. make sure modulo is the function name in modulo.c
2. Give the full path to the shared library modulo ...
ie.
declare external function f_Modulo
integer, integer
returns
integer by value
entry_point 'modulo' module_name '/opt/interbase/UDF/modulo';
hth
bill
Milan Babuskov wrote:
>Hi all,
>
>I've been using Firebird and reading this list for several months
>now, and just can't believe that noone had any hint, idea or
>whatsoever regarding my question. I've seen questions with less data
>in them, and someone always answered at least with RTFM, but my post
>got zero replies so far.
>
>Cheers,
>Milan.
>
>P.S. Sorry for top posting, I just put the original post below if
>someone might be interested. I'd also like to add that I read the
>Dev. Guide, but didn't find anything that could resolve my problem.
>
>--- In ib-support@y..., "Milan Babuskov" <milanb@Y...> wrote:
>
>
>>I'm trying to learn how to write UDF funcions for Linux, but fail at
>>first steps. I read this document on ibphoenix:
>>
>>http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_howto2
>>
>>And followed the instructions from the example. Compiling the file
>>went ok:
>>
>>gcc -c -O -fpic -fwritable-strings modulo.c
>>ld -G modulo.o -lm -lc -o modulo.so
>>cp modulo.so /opt/interbase/UDF
>>
>>I run RH7, and the Firebird is installed in /opt/interbase, which
>>has
>>UDF directory with all letters uppercase, so I copied the .so file
>>there. (Later I thought this may be the problem, and I copied
>>
>>
>the .so
>
>
>>file to lib also, and also created udf directory (lowercase) and
>>
>>
>made
>
>
>>one copy there also)
>>
>>Then I declared the udf with the query from article:
>>
>>declare external function f_Modulo
>>integer, integer
>>returns
>>integer by value
>>entry_point 'modulo' module_name 'modulo';
>>
>>commit;
>>
>>So far, so good. But when I try:
>>
>>select f_Modulo(3, 2) from rdb$database;
>>
>>I get:
>>
>>Invalid request BLR at offset 60
>>function F_MODULO is not defined
>>module name or entry point could not be found
>>
>>I also tried renaming file to modulo (without extension), but it
>>didn't work. What am I doing wrong here? Is there a way to check
>>
>>
>where
>
>
>>the database looks for .so file?
>>
>>TIA
>>Milan.
>>
>>
>
>
>
>To unsubscribe from this group, send an email to:
>ib-support-unsubscribe@egroups.com
>
>
>
>Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>