Hello, all!
I use IDS 2000 v. 9.20.UC1 on Suse Linux 9.2, kernel 2.6.8-24-default
I have some C UDR that succesfully works in other cases (IDS 9.2 on HP-UX
11.x, IDS 9.2 on older LINUX,
IDS 9.4 on Suse Linux 8.0)
When I have tried run UDR test on above configuration I had error -9793
"User Defined Routine (test) module load failed."
The log messages in online.log file is
12:23:34 Loading Module </informix/udr/test.so>
12:23:34 The C Language Module </informix/udr/test.so> can't load reason: Cannot find base symbol in library.
12:23:34 (-1): ERROR: Loading Module </informix/udr/test.so>
The example of C UDR routine test.c:
#include <mi.h>
void test(user, fparam)
mi_lvarchar *user;
MI_FPARAM *fparam;
{
MI_CONNECTION *conn;
conn = mi_open(NULL, NULL, NULL);
}
Shared library build command:
gcc -I/informix/incl/public -DMI_SERVBUILD -L/informix/lib/esql -shared
test.c -o test.so
Registering library sql command:
CREATE DBA PROCEDURE test (
VARCHAR(8)
) EXTERNAL NAME '/informix/udr/test.so(test)' LANGUAGE C VARIANT;
GRANT EXECUTE ON test TO PUBLIC;
What's problem?
Andrew Svihnushin
INIST Ltd.
email: san@inist.ru