Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Hi! I am trying to call a simple C program (test.c) from a IDL program using CALL_EXTERNAL. The C program is, #include <stdio.h> #include <math.h> #include"/usr/local/rsi/idl_6.0/external/include/idl_export.h " float Scale; int test(int argc, char *argv[]) { Scale = *(float *) argv[0]; Scale = pow(Scale, 5); return(1); } IDL program is PRO test sc = 5.0 xx=CALL_EXTERNAL('/home/upadiga/work/IDLwork/test', $ '/home/upadiga/work/IDLwork/test', $ sc) print, sc end In directory /home/upadiga/work/IDLwork/test I have followed following compilation and linking procedures!! > gcc -c -fPIC test.c > ld -shared -o test.so test.o Then in the IDL command line, IDL>.r test IDL>test I get the following error message. % CALL_EXTERNAL: Error loading sharable executable. Symbol: /home/upadiga/work/IDLwork/test, File = /home/upadiga/work/IDLwork/test /home/upadiga/work/IDLwork/test: cannot open shared object file: No such file or directory % Execution halted at: TEST 4 /home/upadiga/work/IDLwork/test.pro % $MAIN$ Experts out there, could you please tell me how should I compile and link the shared library!? I am using IDL6.0 on Linux (Fedora Core2 64bit OS). Thanks a lot umesh