Re: [netcdfgroup] linking netcdf to serial code on yellowstone

  • To: Ben Foster <foster@xxxxxxxx>
  • Subject: Re: [netcdfgroup] linking netcdf to serial code on yellowstone
  • From: Mary Haley <haley@xxxxxxxx>
  • Date: Tue, 15 Apr 2014 11:08:48 -0600
Hi Ben,

It looks like you might be using intel compilers with gnu-compiled versions of 
NCL.

We just upgraded NCL to V6.2.0 last week, but I only today got around to 
creating an Intel version.  It should be ready for you to use, and hopefully 
should just work.

Please try again and let us know if you have problems.

Note: if you have your own compile line and if you are linking against the 
“libhlu.a” library, then you will need to add “-liomp5” to it, as we now have 
some parallel dependencies.

Here’s what some typical compile lines might look like on yellowstone:

Low-level NCAR Graphics program with no HLU calls:

ifort -march=corei7 -axAVX -fopenmp -O2 -o agex07 agex07.f 
-L/glade/apps/opt/ncl/6.2.0/intel/12.1.5/lib -L/usr/X11R6/lib64 -lncarg 
-lncarg_gks -lncarg_c -lXpm -lX11 -lXext -lcairo -lfontconfig -lpixman-1 
-lfreetype -lexpat -lpng -lz -lpthread -lbz2 -lXrender

NCAR Graphics program with HLU calls:

ifort -march=corei7 -axAVX -fopenmp -O2 -o xy01f xy01f.f 
-L/glade/apps/opt/ncl/6.2.0/intel/12.1.5/lib -L/usr/X11R6/lib64 
-I/glade/apps/opt/ncl/6.2.0/intel/12.1.5/include -I/usr/X11R6/include -lhlu 
-lncarg -lncarg_gks -lncarg_c -lXpm -lX11 -lXext -lcairo -lfontconfig 
-lpixman-1 -lfreetype -lexpat -lpng -lz -lpthread -lbz2 -lXrender


—Mary
 


On Apr 15, 2014, at 9:37 AM, Jim Edwards <jedwards@xxxxxxxx> wrote:

> Hi Ben,
> 
> I think that either the ncl or esmf module are causing this - can you try 
> removing them one at a time to identify which one.   I think it's ncl, but 
> wouldn't be surprised if esmf does the same thing.   
> 
> 
> On Tue, Apr 15, 2014 at 9:30 AM, Ben Foster <foster@xxxxxxxx> wrote:
> 
> Hi,
> 
> I am having trouble linking netcdf to a *serial* post-processor
> since the yellowstone upgrade last week. The symptoms appear to
> be a conflict with libhdf5 and libnetcdf_c++4 leading to undefined
> references to gfortran functions. I am building with Intel/ifort.
> Below is a clip from the failed build. Note I am *not* specifying a
> -L path to netcdf, just link -lnetcdf, so am assuming it is linking
> default lib 4.3.0 according to my module settings - here's my module list:
> 
> [foster@yslogin3 tgcmproc_f90]$ module list
> Currently Loaded Modules:
>   1) ncarenv/1.0        4) ncarcompilers/1.0    7) idl/8.2.3 10) 
> esmf-6.3.0r-ncdfio-mpi-O
>   2) ncarbinlibs/1.1    5) netcdf/4.3.0         8) job_memusage/1.0
>   3) intel/12.1.5       6) ncl/6.2.0            9) esmf
> 
> And here is module avail netcdf:
> 
> [foster@yslogin3 tgcmproc_f90]$ module avail netcdf
> 
> ----------------------------------- /glade/apps/opt/modulefiles/ys/cdep/intel 
> ------------------------------------
>    netcdf-mpi/4.2            netcdf/4.2            pnetcdf/1.3.0
>    netcdf-mpi/4.3.0  (D)     netcdf/4.3.0  (D)     pnetcdf/1.4.1  (D)
> 
> 
> Thanks for any help on this. Here's the last few compilations, and
> the link error from the build:
> 
> 
> ifort -O2 -DLINUX   -c -o pltmaps.o pltmaps.F
> ifort -O2 -DLINUX   -c -o getflds.o getflds.F
> ifort -O2 -DLINUX   -c -o mksatut.o mksatut.F
> ifort -O2 -DLINUX   -c -o tgcmproc.o tgcmproc.F
> OBJS=allocf.o ampha.o conrec.o denconv.o doppler.o egadb.o epflux.o fields.o 
> fixnamelist.o flist.o fset_known.o getfile.o getflds.o gethist.o getna.o 
> getoh.o gettime.o gfac.o hdr3rec.o hist.o htint.o input.o mapeod.o 
> mkauxflds.o mkcdf.o mkcon.o mkderived.o mkdrifts.o mkemiss.o mkhvols.o 
> mklats.o mklons.o mkmaps.o mksatcdf.o mksatut.o mkutlat.o mkutlon.o 
> mkutvert.o mkv5d.o mkxyloc.o mkxyut.o mkzmslt.o napart.o nchist_mod.o ohrad.o 
> opnwrk.o plt.o pltmaps.o pltxy.o proc.o proclat.o proclat_old.o qadglb.o 
> qbary.o rfft.o scrub_hvols.o setloctype.o setvert.o solred.o tgcmproc.o 
> util.o wrlab6.o
> ifort -o tgcmproc_f90 allocf.o ampha.o conrec.o denconv.o doppler.o egadb.o 
> epflux.o fields.o fixnamelist.o flist.o fset_known.o getfile.o getflds.o 
> gethist.o getna.o getoh.o gettime.o gfac.o hdr3rec.o hist.o htint.o input.o 
> mapeod.o mkauxflds.o mkcdf.o mkcon.o mkderived.o mkdrifts.o mkemiss.o 
> mkhvols.o mklats.o mklons.o mkmaps.o mksatcdf.o mksatut.o mkutlat.o mkutlon.o 
> mkutvert.o mkv5d.o mkxyloc.o mkxyut.o mkzmslt.o napart.o nchist_mod.o ohrad.o 
> opnwrk.o plt.o pltmaps.o pltxy.o proc.o proclat.o proclat_old.o qadglb.o 
> qbary.o rfft.o scrub_hvols.o setloctype.o setvert.o solred.o tgcmproc.o 
> util.o wrlab6.o wrxdrc.o v5d.o binio.o  -lhlu -lncarg -lncarg_gks -lncarg_c 
> -lX11 -lXext  -lcairo -lfontconfig -lpixman-1 -lfreetype -lexpat -lpng -lz 
> -lpthread -lbz2 -lXrender -lgfortran -lnetcdf
> ld: warning: libhdf5_hl.so.7, needed by 
> /glade/apps/opt/netcdf/4.2/gnu/4.7.2/lib/libnetcdf_c++4.so.1, may conflict 
> with libhdf5_hl.so.8
> ld: warning: libhdf5.so.7, needed by 
> /glade/apps/opt/netcdf/4.2/gnu/4.7.2/lib/libnetcdf_c++4.so.1, may conflict 
> with libhdf5.so.8
> /glade/apps/opt/ncl/6.2.0/gnu/4.7.2/lib/libhlu.a(ERRORF.o): In function 
> `nhlpfprnmes_':
> ERRORF.f:(.text+0x61): undefined reference to 
> `_gfortran_transfer_character_write'
> ERRORF.f:(.text+0xee): undefined reference to 
> `_gfortran_transfer_character_write'
> /glade/apps/opt/ncl/6.2.0/gnu/4.7.2/lib/libhlu.a(CnTriMeshRenderer.o): In 
> function `RasterFillRender._omp_fn.1':
> CnTriMeshRenderer.c:(.text+0x30e2): undefined reference to 
> `omp_get_num_threads'
> CnTriMeshRenderer.c:(.text+0x3102): undefined reference to 
> `omp_get_thread_num'
> CnTriMeshRenderer.c:(.text+0x3208): undefined reference to `GOMP_barrier'
> CnTriMeshRenderer.c:(.text+0x3211): undefined reference to `GOMP_barrier'
> /glade/apps/opt/ncl/6.2.0/gnu/4.7.2/lib/libhlu.a(CnTriMeshRenderer.o): In 
> function `BuildDelaunayMesh._omp_fn.0':
> CnTriMeshRenderer.c:(.text+0x3247): undefined reference to 
> `omp_get_thread_num'
> CnTriMeshRenderer.c:(.text+0x3250): undefined reference to 
> `omp_get_num_threads'
> CnTriMeshRenderer.c:(.text+0x326c): undefined reference to `GOMP_barrier'
> CnTriMeshRenderer.c:(.text+0x3975): undefined reference to `GOMP_barrier'
> /glade/apps/opt/ncl/6.2.0/gnu/4.7.2/lib/libhlu.a(CnTriMeshRenderer.o): In 
> function `InitMesh':
> CnTriMeshRenderer.c:(.text+0x428e): undefined reference to 
> `GOMP_parallel_start'
> CnTriMeshRenderer.c:(.text+0x42a0): undefined reference to `GOMP_parallel_end'
> /glade/apps/opt/ncl/6.2.0/gnu/4.7.2/lib/libhlu.a(CnTriMeshRenderer.o): In 
> function `CnTriMeshRender':
> CnTriMeshRenderer.c:(.text+0xabba): undefined reference to 
> `GOMP_parallel_start'
> CnTriMeshRenderer.c:(.text+0xabcc): undefined reference to `GOMP_parallel_end'
> /glade/apps/opt/ncl/6.2.0/gnu/4.7.2/lib/libncarg.a(cpgiws.o): In function 
> `cpgiws_':
> cpgiws.f:(.text+0x153): undefined reference to 
> `_gfortran_transfer_integer_write'
> cpgiws.f:(.text+0x167): undefined reference to 
> `_gfortran_transfer_integer_write'
> 
> 
> --Ben
> 
> _______________________________________________
> netcdfgroup mailing list
> netcdfgroup@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe,  visit: 
> http://www.unidata.ucar.edu/mailing_lists/
> 
> _______________________________________________
> netcdfgroup mailing list
> netcdfgroup@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe,  visit: 
> http://www.unidata.ucar.edu/mailing_lists/

  • 2014 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: