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