Welcome to iraf.net Friday, May 17 2024 @ 06:48 AM GMT


 Forum Index > Help Desk > Systems New Topic Post Reply
 Undefined symbols referenced from libimfort.a
   
tbrown
 04/23/2008 02:01PM (Read 4362 times)  
+----
Newbie

Status: offline


Registered: 04/23/2008
Posts: 2
Hello,I am trying to compile Peter Stetson's stand-alone DAOPHOT-II Fortran code. The Makefile includes references to the following IRAF libraries:
libimfort.a
libsys.a
libvops.a
libos.aI can successfully compile the code with g77, but I would like to compile it using the Intel Fortran compiler. This commercial compiler has optimization and parallelization options that have given a factor of 10 increase in speed for other Fortran code I use in my research. Using the Intel 64-bit compiler gives many errors, because the IRAF libraries are 32 bit. However, if I use the Intel 32-bit compiler, I get fewer errors, but still get errors such as: Undefined symbols:
"_s_copy", referenced from:
_imemsg_ in libimfort.a(imemsg.o)
...
_f77pak_ in libvops.a(f77pak.o)
...
"_pow_di", referenced from:
_ctod_ in libsys.a(ctod.o)
...
"_pow_ri", referenced from:
_ctod_ in libsys.a(ctod.o)
...
"_i_len", referenced from:
_imemsg_ in libimfort.a(imemsg.o)
...
ld: symbol(s) not found
I'm running a Mac Intel machine with Mac OS X 10.5.2.Has anyone had any luck linking these IRAF libraries with the Intel Fortran compiler? Alternatively, is there a way to recompile the IRAF libraries with the Intel compiler (in either 32-bit or 64-bit mode)?Thanks,
Tom Brown

 
Profile Email
 Quote
fitz
 04/23/2008 02:01PM  
AAAAA
Admin

Status: offline


Registered: 09/30/2005
Posts: 4040
[quote:d9357aeebd]Using the Intel 64-bit compiler gives many errors, because the IRAF libraries are 32 bit. However, if I use the Intel 32-bit compiler, I get fewer errors, but still get errors such as:Undefined symbols:
"_s_copy", referenced from:
_imemsg_ in libimfort.a(imemsg.o)
...[/quote:d9357aeebd] The IRAF libraries were built using F2C/GCC as the compilers, to use another compiler you still need to link in the $iraf/unix/bin.macintel/libf2c.a and the system libgcc.a (just add a '-lgcc' to the library list). This should resolve the undefined refs but I can't guarantee compatibiliy with the Intel compilers.[quote:d9357aeebd]
Has anyone had any luck linking these IRAF libraries with the Intel Fortran compiler?Alternatively, is there a way to recompile the IRAF libraries with the Intel compiler (in either 32-bit or 64-bit mode)? [/quote:d9357aeebd]You would need to recompile the entire system using the Intel compiler if the above doesn't work. I did this early-on when the Intel compiler was a free beta version but didn't see nearly a 10x speedup. Keep in mind that tasks are usually written to process images one row (or small chunks) at a time so the compiler optimizations are typically per-row and not over the entire image.Cheers,
-Mike [/quote]

 
Profile Email
 Quote
tbrown
 04/23/2008 02:01PM  
+----
Newbie

Status: offline


Registered: 04/23/2008
Posts: 2
Thanks! Your first suggestion (linking libf2c.a and libgcc.a) seems to work. I have code that runs, at least (it will take some testing to make sure it's not doing anything funny).

 
Profile Email
 Quote
   
Content generated in: 0.08 seconds
New Topic Post Reply

Normal Topic Normal Topic
Sticky Topic Sticky Topic
Locked Topic Locked Topic
New Post New Post
Sticky Topic W/ New Post Sticky Topic W/ New Post
Locked Topic W/ New Post Locked Topic W/ New Post
View Anonymous Posts 
Anonymous users can post 
Filtered HTML Allowed 
Censored Content 
dog allergies remedies cialis 20 mg chilblain remedies


Privacy Policy
Terms of Use

User Functions

Login