[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #YWH-955421]: Error during "make check," NetCDF 4.2 Fortran libs, Janus supercomputer
- Subject: [netCDF #YWH-955421]: Error during "make check," NetCDF 4.2 Fortran libs, Janus supercomputer
- Date: Wed, 27 Jun 2012 14:32:48 -0600
Dan,
> I forgot to mention before that I had set PATH to include
> /curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin, so in effect
> I've already tried that suggestion. I downloaded and built
> netcdf-fortran-4.4-beta1.tar.gz using options identical to my previous
> attempt with NetCDF 4.2. Unfortunately, "make check" fails with exactly the
> same error.
OK, please send us the complete output of configure, make, and make check, from
the build with netcdf-fortran-4.2.
We might be able to diagnose the problem from that.
--Russ
> -----Original Message-----
> From: Unidata netCDF Support [mailto:address@hidden]
> Sent: Wednesday, June 27, 2012 1:24 PM
> To: Daniel Milroy
> Cc: address@hidden
> Subject: [netCDF #YWH-955421]: Error during "make check," NetCDF 4.2 Fortran
> libs, Janus supercomputer
>
> Hi Dan,
>
> > Per request by NCAR, I've been attempting to build NetCDF 4.2 on the Janus
> > supercomputer (RHEL 5.6, kernel 2.6.18-238.12.1). I had no problems
> > building the NetCDF 4.2 C libraries, but I can't get the Fortran libraries
> > to install. Here are the options I've used to build netcdf-fortran-4.2:
> >
> > CC=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin/mpi
> > cc
> > FC=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin/mpi
> > f90
> > F90=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin/mp
> > if90
> > F77=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin/mp
> > if90
> > CXX=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin/mp
> > ic++
> > MPICXX=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin
> > /mpic++
> > MPICC=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin/
> > mpicc
> > MPIF77=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin
> > /mpif77
> > MPIF90=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin
> > /mpif90 CPPFLAGS="-DgFortran
> > -I/curc/tools/x_86_64/rh5/netcdf/4.2/hdf5/1.8.8/openmpi/1.4.5/intel/12.1.4/include"
> > LDFLAGS=-L/curc/tools/x_86_64/rh5/netcdf/4.2/hdf5/1.8.8/openmpi/1.4.5/
> > intel/12.1.4/lib
> > LD_LIBRARY_PATH=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-1
> > 2.1.4/lib:/curc/tools/nonfree/redhat_5_x86_64/intel-12.1.4/composer_xe
> > _2011_sp1.10.319/debugger/lib/intel64:/curc/tools/nonfree/redhat_5_x86
> > _64/intel-12.1.4/composer_xe_2011_sp1.10.319/mkl/lib/intel64:/curc/too
> > ls/nonfree/redhat_5_x86_64/intel-12.1.4/composer_xe_2011_sp1.10.319/co
> > mpiler/lib/intel64:/curc/tools/free/redhat_5_x86_64/sun_jdk-1.6.0_23-x
> > 86_64/lib:/curc/tools/free/redhat_5_x86_64/torque-2.5.8/lib
> > FFLAGS=-I/curc/tools/x_86_64/rh5/netcdf/4.2/hdf5/1.8.8/openmpi/1.4.5/i
> > ntel/12.1.4/include
> >
> > ./configure
> > --prefix=/curc/tools/x_86_64/rh5/netcdf/4.2/intel/netcdf-4.2_intel-12.
> > 1.4_hdf5-1.8.8_openmpi-1.4.5_fortran -disable-shared
> >
> > I can configure and make the Fortran libraries successfully, but the
> > following error is thrown during "make check:"
> >
> > [snip]
> >
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:115: undefined
> > reference to `nc_get_vars_int'
> > ../fortran/.libs/libnetcdff.a(fort-varsio.o): In function
> > `nf_put_vars_real_':
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:130: undefined
> > reference to `nc_put_vars_float'
> > ../fortran/.libs/libnetcdff.a(fort-varsio.o): In function
> > `nf_get_vars_real_':
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:142: undefined
> > reference to `nc_get_vars_float'
> > ../fortran/.libs/libnetcdff.a(fort-varsio.o): In function
> > `nf_put_vars_double_':
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:150: undefined
> > reference to `nc_put_vars_double'
> > ../fortran/.libs/libnetcdff.a(fort-varsio.o): In function
> > `nf_get_vars_double_':
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:157: undefined
> > reference to `nc_get_vars_double'
> > ../fortran/.libs/libnetcdff.a(fort-varsio.o): In function `nf_put_vars_':
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:160: undefined
> > reference to `nc_put_vars'
> > ../fortran/.libs/libnetcdff.a(fort-varsio.o): In function `nf_get_vars_':
> > /tmp/netcdf/netcdf-fortran-4.2/fortran/fort-varsio.c:163: undefined
> > reference to `nc_get_vars'
> > make[2]: *** [nf_test] Error 1
> > make[2]: Leaving directory `/tmp/netcdf/netcdf-fortran-4.2/nf_test'
> > make[1]: *** [check-am] Error 2
> > make[1]: Leaving directory `/tmp/netcdf/netcdf-fortran-4.2/nf_test'
> > make: *** [check-recursive] Error 1
> >
> > What is causing this issue?
>
> I suspect it may be that the fortran/cfortran.h header file, used to handle
> differences in how C functions are called from Fortran for different
> compilers, is failing to provide the right macros for the mpif90 compiler you
> are using.
>
> One thing you could try is setting your PATH to include the directory in
> which the compilers are found, and just setting the environment variables
> that configure is using to the names of the executables, e.g.
>
> PATH=/curc/tools/free/redhat_5_x86_64/openmpi-1.4.5_intel-12.1.4/bin:$PATH
> FC=mpif90
> F90=mpif90
> F77=mpif90
> ...
>
> to see if that gets the right definitions of the cfortran.h macros.
>
> Alternatively, you could try the new beta release of the separate Fortran
> package, that makes use of the Fortran-2003 C-interoperability features,
> assuming your
> mpif90 compiler supports this. That completely avoids the old cfortran.h
> macros.
>
> Just get this version of the netCDF-Fortran package:
>
> ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4-beta1.tar.gz
>
> also available as the beta release from the downloads page:
>
> http://www.unidata.ucar.edu/downloads/netcdf/netcdf-fortran/index.jsp
>
> In building it, just tell it where to find the installed netCDF-3 libraries,
> with CPPFLAGS and LDFLAGS, as you did for the netcdf-fortran-4.2 package.
>
> Please let us know if that works.
>
> --Russ
>
>
> Russ Rew UCAR Unidata Program
> address@hidden http://www.unidata.ucar.edu
>
>
>
> Ticket Details
> ===================
> Ticket ID: YWH-955421
> Department: Support netCDF
> Priority: Normal
> Status: Closed
>
>
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: YWH-955421
Department: Support netCDF
Priority: Normal
Status: Closed