Re: ISIS non-thermal module compilation error

From: Jamie Cohen <jcohen_at_email.domain.hidden>
Date: Thu, 2 May 2013 15:03:25 -0400
To get everything to work I had to build everything (slang, gsl, slang gsl
module, isis, and the nonthermal module) from source (no macports), and in
each configure file I replaced -bundle with -dynamiclib.  I also installed
the sourceforge version of gfortran (version 4.8.1). I was having trouble
getting isis to compile at this point using the -m32 flag and got the
following error:
*Undefined symbols for architecture i386:*
*  "__gfortran_transfer_character_write", referenced from:*
*      _isis_prtvec_ in libisis.a(simann_lib.o)*
*      _isis_rmarin_ in libisis.a(simann_lib.o)*
*  "__gfortran_transfer_integer_write", referenced from:*
*      _isis_prt9_ in libisis.a(simann_lib.o)*
*  "__gfortran_transfer_real_write", referenced from:*
*      _isis_prtvec_ in libisis.a(simann_lib.o)*
*      _isis_prt9_ in libisis.a(simann_lib.o)*
*      _isis_prt4_ in libisis.a(simann_lib.o)*
*      _isis_prt3_ in libisis.a(simann_lib.o)*
*      _isis_prt2_ in libisis.a(simann_lib.o)*
*ld: symbol(s) not found for architecture i386*
*
*
I tried building XSPEC separately from heasoft, replaced the -m32 flag with
-m64, and started over again. This time, isis compiled with no errors but
the nonthermal module stopped with the following errror:
*ld: file not found: libcfitsio_3.32.dylib for architecture x86_64*
*
*
I tried adding the --with-cfitsio configure option for isis and linked to
the version of cfitsio I already had via macports (thought I'd try it quick
since it was built already), recompiled, and the nonthermal module finally
compiled with no errors!

I initially had trouble getting the nonthermal module to load in isis:
*isis> require ("nonthermal");*
*Error linking to /usr/local/lib/isis/modules/nonthermal-module.so:
dlopen(/usr/local/lib/isis/modules/nonthermal-module.so, 10): Library not
loaded: libisis.so*
*  Referenced from: /usr/local/lib/isis/modules/nonthermal-module.so*
*  Reason: image not found*

I added /usr/local/isis/1.6.2/lib to DYLD_LIBRARY_PATH, and got the module
to load successfully.

Thanks much to all who helped me get everything installed, it's much
appreciated.

Best,
Jamie


On Mon, Apr 29, 2013 at 1:18 PM, John Houck <houck_at_email.domain.hidden
> On Mon, Apr 29, 2013 at 10:25 -0400, Jamie Cohen wrote:
> > I also tried to rebuild everything listed above without the -m32 flags.
> > When doing this, isis seem to work (when I run isis I don't get that
> S-LANG
> > not built properly error message). When I then try to compile the
> > non-thermal module for isis I get the following similar make error:
> >
> > *gcc -bundle -flat_namespace -undefined suppress -g -O2  -fno-common
> > -I/opt/local/include -I/usr/local/isis/1.6.2/include -I/opt/local/include
> >  libnonthermal.c -o
> [...]
> > *ld: can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB) for
> > architecture x86_64*
> > *collect2: ld returned 1 exit status*
> > *make[1]: *** [libnonthermal.so] Error 1*
> > *make: *** [all] Error 2*
> >
> > Any help with solving this problem would be much appreciated, and thanks
> in
> > advance.
> >
>
> In the nonthermal module, could you try editing src/Makefile to
> replace "-bundle" with "-dynamiclib", then do:
>    make clean
>    make
> If that doesn't work, let me know and I'll look into it further.
>
> If further iteration is required, it's probably best if we do
> that by email and then just post the solution to isis-users.
>
> Thanks,
> -John
>

----
You received this message because you are
subscribed to the isis-users list.
To unsubscribe, send a message to
isis-users-request_at_email.domain.hiddenwith the first line of the message as:
unsubscribe
Received on Thu May 02 2013 - 15:04:31 EDT

This archive was generated by hypermail 2.2.0 : Tue May 07 2013 - 11:45:26 EDT