CLAPACK and IDL [message #48151] |
Fri, 31 March 2006 13:08  |
johnpeterkelly@gmail.
Messages: 6 Registered: March 2006
|
Junior Member |
|
|
I'm writing a program in C which is called from IDL using the
call_external routine. I'd like to run a CLAPACK routine from the C
program to find some eigenvalues and eigenvectors, however, everytime I
try to call and CLAPACK functions I get a segmentation fault. I know
that I can use the built in IDL functions for this, but I'd really
rather not pass my data back to IDL at this point, since I have more
processing to do in C.
I've written some standalone testing programs that use the same CLAPACK
functions and they run just fine. When I use the exact same code
through the call_external function, I get a seg fault.
Any thoughts?
--John
|
|
|
Re: CLAPACK and IDL [message #48280 is a reply to message #48151] |
Mon, 03 April 2006 07:43  |
johnpeterkelly@gmail.
Messages: 6 Registered: March 2006
|
Junior Member |
|
|
Figured it out:
I had compiled the CLAPACK routines without the -m32 option, meaning
the *.a libraries were 64 bit. I have been using the -m32 with all my
IDL make_dll calls to maintain compatibility with some older machines
we have. So, when I tried to compile the IDL-called C routines (32
bit), they were trying to link to the incompatible CLAPACK libraries
(64 bit). They would compile but have a runtime error. I figured this
out by using /show_all_output in make_dll, which show several error
messages that I wasn't seeing:
/usr/bin/ld: warning: i386:x86-64 architecture of input file
`lapack_LINUX.a(zheev.o)' is incompatible with i386 output
.
.
.
Hopefully this will help anyone else who runs into this problem.
--John
|
|
|