comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: CALL_EXTERNAL in Linux Fedore Core2???
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: CALL_EXTERNAL in Linux Fedore Core2??? [message #40930 is a reply to message #40929] Tue, 07 September 2004 20:58 Go to previous message
David G. Grier is currently offline  David G. Grier
Messages: 8
Registered: September 1997
Junior Member
Hi There,

umesh wrote:

> 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)

Here's the problem. The shared object file is
"/home/upadiga/work/IDLwork/test.so", not
"/home/upadiga/work/IDLwork/test".
That's why the file's not being found.

Furthermore, the object within the library is
"test", not
"/home/upadiga/work/IDLwork/test".

Finally, it's not a good idea to call any routine
"test" because "test" tends to mean something
specific already on most machines.

Hope this helps.

TTFN,

David

>
> 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

--
============================================================ =============
David G. Grier Department of Physics
(212) 998-3713 (voice) Center for Soft Matter Research
(212) 995-4016 (FAX) New York University
david.grier@nyu.edu 4 Washington Place
http://physics.nyu.edu/grierlab/ New York, NY 10003
============================================================ =============
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: IDL Strip Chart
Next Topic: VTK + IDL

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Oct 09 23:14:18 PDT 2025

Total time taken to generate the page: 0.08046 seconds