[ncl-install] Issues with building NCL 5.0.0 with Intel Compilers

Craig Tierney Craig.Tierney at noaa.gov
Fri Apr 11 16:14:56 MDT 2008


Mary Haley wrote:
> 
> 
> On Fri, 11 Apr 2008, Craig Tierney wrote:
> 
>> Mary Haley wrote:
>>>
>> ... stuff deleted
>>
>>>>
>>>> Questions:
>>>>
>>>> 1) What is ifcore?
>>>
>>> It's an Intel system library that is needed when building Fortran
>>> and C code together.  Below, when you tried to compile ictrans,
>>> it gave you an undefined reference of "for_cpystr". This symbol
>>> is defined in the ifcore library, so you need to make sure
>>> this is included on the compile line, by making sure
>>> it is in your $NCARG/config/LINUX file as you saw above.
>>>
>>
>> I asked about ifcore because I wsa getting the following error:
>>
>> [root at wms1 ictrans]# icc -ansi  -O2    -o ictrans main.o 
>> ../../../.././ncarview/src/lib/libictrans/libictrans.o 
>> ../../../.././ncarview/src/lib/libctrans/libctrans.o 
>> -L../../../.././ncarview/src/lib/libcgm -lcgm 
>> -L../../../.././ncarview/src/lib/libncarg_ras -lncarg_ras 
>> -L../../../.././common/src/libncarg_c -lncarg_c 
>> -L/opt/ncl/5.0.0_intel_9.1/lib -L/usr/X11R6/lib64 
>> -L/opt/netcdf/3.6.1_intel_9.1/lib -L/opt/udunits/1.12.4/lib 
>> -L/opt/hdf4/2r1_intel_9.1/lib -L/opt/netcdf/3.6.1_intel_9.1/lib -lXpm 
>> -lX11 -lXext   -lmfhdf -ldf -ljpeg -lz -lm -lifcore
>> IPO link: can not find -lifcore
>> icc: error: problem during multi-file optimization compilation (code 1)
>>
>> The library ifcore does not exist for icc, only for ifort.
>> If I change the compiler to "ifort -nofor-main" it works.
>>
>> How should it be compiled?
> 
> Craig,
> 
> When you say "it works", did you mean "ictrans" compiles just fine?
> If so, then I think you may have just answered your own question. :-)
> 
> Using the "-nofor-main" option may be just what you need.
> 
> The best way to propagate this option to all the Makefiles is
> to edit your $NCARG/config/LINUX file and add this option to your
> FcOptions line (or add it if you don't already have one):
> 
> #define FcOptions    -nofor-main
> 
> Be sure to run "make Everything" again.
> 

The point to bring this up wasn't so much that I fixed it,
it is that I don't know how it can be working for other
users.  Also, the solution required changing the compiler
that does the linking from icc to ifort.  Also, if you
have any other Fortran code that does linking, adding the
option will break it.


Craig



> --Mary
> 
>> ... more stuff deleted
>>
>> Thanks,
>> Craig
>>
>> -- 
>> Craig Tierney (craig.tierney at noaa.gov)
>>
> _______________________________________________
> ncl-install mailing list
> ncl-install at ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/ncl-install


-- 
Craig Tierney (craig.tierney at noaa.gov)


More information about the ncl-install mailing list