[Spice_discussion] Using Icy on Solaris
William Thompson
William.T.Thompson.1 at gsfc.nasa.gov
Fri Sep 16 12:18:57 PDT 2005
Dear SPICE folks:
The Icy documentation includes the statement below about 32-bit versus 64-bit.
I don't personally have a Sun to test it out on, but I had a user run into this
problem when he tried to use an IDL routine I had written. I notice that there
are actually two different Sun builds, one using the gcc compiler, and the other
using the native Sun C compiler. Do both versions have this limitation? Can
one get around it by recompiling?
Thank you,
Bill Thompson
> Use on Solaris
>
>
>
> The Solaris gcc build of the Icy dlm functions only in 32 bit mode. The default invocation of IDL uses a 64 bit mode, so you must explicitly invoke IDL in 32 bit mode with the command:
>
> $ idl -32
>
> or
>
> $ idlde -32
>
> The error message returned when running IDL 64 bit with the 32 bit Icy library appears similar to:
>
> Error loading sharable executable.
> Symbol: IDL_Load, File = /naif/icy/lib/icy.so
> ld.so.1: /usr/local/rsi/idl_6.0/bin/bin.solaris2.sparc64/idl
> : fatal: /naif/icy/lib/icy.so: wrong ELF
> class: ELFCLASS32
> % Execution halted at: $MAIN$
>
> Notice the ELFCLASS32 tag. This indicates the 32 bit library, while the sparc64 suffix to the idl executable path name indicates the user ran the 64 bit version of IDL.
>
> Observing the "__eprintf undef" error signal during a compile under Solaris gcc requires either a recompile of all libraries (Icy and cspice) with the Sun cc compiler (do not use the -fast compile option) or the inclusion of libgcc.a during the link phase of the shared library build.
--
William Thompson
NASA Goddard Space Flight Center
Code 612.1
Greenbelt, MD 20771
USA
301-286-2040
William.T.Thompson.1 at gsfc.nasa.gov
More information about the Spice_discussion
mailing list