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

Home » Public Forums » archive » dynamically linking a C file
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
dynamically linking a C file [message #32013] Tue, 03 September 2002 10:07
jeff is currently offline  jeff
Messages: 4
Registered: November 1993
Junior Member
IDL VERSION 5.5
Linux Red Hat 7.3 (linux x86) linux kernel-version 2.4.18
Installation Numbers :5341-1 10244
UBC/TRIUMF PET PROGRAM

I am having trouble calling an external c program from linux.
We currently have a program that runs on an old solaris machine that I am
trying to update so that it will work on the current version of linux.
Within the main code their is the command CALL_EXTERNAL wich does this.

stat = CALL_EXTERNAL('cti_matrix_io.so',
'read_cti_matrix',
file1,
fr, pl, gate, data, bed,
image1)

this piece of code calls the sparc dynamically linked executable on the old
solaris machine.
For the linux machine I have had an extremely tuff time trying to find any
information on the subject and have tried many things without any success.

I compile the c code with gcc version 2.96 using the command.
gcc -fPIC -g -c cti_matrix_io.c

I then link the file using;
gcc -shared -o cti_matrix_io.so cti_matrix_io.o -lc
which creates the file
cti_matrix_io.so: ELF 32-bit LSB shared object, Intel 80386, version 1
(SYSV), not stripped

Now with these steps I don't get any compile errors or can't read the file
cti_matrix_io.so errors when the program runs, but what I do get is:

IDL> .com large
% Compiled module: MAIN_EVENT.
% Compiled module: WIDGET.
% Compiled module: GAUSSFUNC.
% Compiled module: DISPLAY_MAIN_HEADER.
% Compiled module: DISPLAY_IMAGE_SUBHEADER.
% Compiled module: DISPLAY_SCAN_SUBHEADER.
% Compiled module: CREATE_MAIN_HEADER.
% Compiled module: CREATE_IMAGE_SUBHEADER.
% Compiled module: CREATE_SCAN_SUBHEADER.
% Compiled module: START.
% Compiled module: RUN_PROGRAM.
IDL> start
% Compiled module: XMANAGER.
% Compiled module: LOADCT.
% Compiled module: FILEPATH.
% Compiled module: PATH_SEP.
% LOADCT: Loading table Rainbow18
[3]+ Done emacs large.pro
Segmentation fault

and the program crashes. I've tried to place error statement within the c
code but it doesn't seem as thought the program even enters the actual file.

Any help on the subject would be greatly appreciated. Thanks
Jeff Englehart
[Message index]
 
Read Message
Previous Topic: Tip for using Compound Widgets
Next Topic: External c calls broken in IDL 5.5

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

Current Time: Wed Oct 08 19:05:27 PDT 2025

Total time taken to generate the page: 0.00722 seconds