Udf with Linux & Interbase 6.1
Linux RedHat 7.1
Interbase 6.01 Open Source
Hi,
I'm porting some udf functions from Windows to Linux. Now I'm only trying
with a couple of them and I have a problem.
Trying to use the udf (INUDF_Abs) I get:
<
Invalid request BLR at offset 59
function INUDF_ABS is not defined
module name or entrypoint could not be found
Statement: select inudf_abs(-1) from rdb$database
The library is written in C++ and I build it with a makefile like this:
<
INGlobals: INGlobals.o NumUdf.o Stringudf.o
ld -o INGlobals INGlobals.o NumUdf.o Stringudf.o -shared -lgds
INGlobals.o: INGlobals.cpp
g++ -c INGlobals.cpp
NumUdf.o: NumUdf.cpp
g++ -c NumUdf.cpp
Stringudf.o: StringUdf.cpp
g++ -c StringUdf.cpp
I moved the library I made (INGlobals) to /interbase_path/udf dir and I
updated the LD_LIBRARY_PATH too!
I can't understand if Interbase can't find the library or the function.
Maybe there's a name mismatch caused by the C++ name mangling, so I tried
with extern "c", but the compiler does not like the "c", and finally I kept
the extern (but without it it's the same).
It's my first linux library so maybe there's something as big as I'm new to
this enviroment!
Who can help me?
Thank You in advance
Massimiliano Trezzi