[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #GNO-148344]: Building parallel NetCDF with Intel



Hi Mark,

> I am trying to build paralle NetCDF 4.1.3 using Intel compilers and Intel MPI.
> I set the following:
> export CC=mpiicc
> export CXX=mpiicpc
> export FC=mpiifort
> export F77=mpiifort
> export FCFLAGS='-I/usr/local/hdf5-1.8.10_nogpfs/include -fPIC'
> export CFLAGS='-I/usr/local/hdf5-1.8.10_nogpfs/include -fPIC'
> export CXXFLAGS='-I/usr/local/hdf5-1.8.10_nogpfs/include -fPIC'
> export FFLAGS='-fPIC -I/usr/local/hdf5-1.8.10_nogpfs/include -g -O2 -mp 
> -recursive'
> export LDFLAGS='-L/usr/local/hdf5-1.8.10_nogpfs/lib'
> 
> I have working and tested HDF5 with parallel I/O.
> 
> I configure with:
> ./configure --prefix=/usr/local/netcdf-4.1.3-par
> and finishes succefully.
> 
> Then when I run make, I get the errors below:
> libtool: link: mpiifort -shared   .libs/fort-attio.o .libs/fort-control.o 
> .libs/fort-dim.o .libs/fort-genatt.o .libs/fort-geninq.o .libs/fort-genvar.o 
> .libs/fort-lib.o .libs/fort-misc.o .libs/fort-v2compat.o .libs/fort-vario.o 
> .libs/fort-var1io.o .libs/fort-varaio.o .libs/fort-varmio.o 
> .libs/fort-varsio.o .libs/fort-nc4.o   --whole-archive 
> ../f90/.libs/libnetcdff90.a --no-whole-archive  -rpath 
> /usr/local/src/NETCDF/netcdf-4.1.3/liblib/.libs -rpath 
> /usr/local/netcdf-4.1.3-par/lib -L/usr/local/hdf5-1.8.10_nogpfs/lib 
> ../liblib/.libs/libnetcdf.so 
> -L/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/lib64 
> /usr/local/hdf5-1.8.10_nogpfs/lib/libhdf5_hl.a 
> /usr/local/hdf5-1.8.10_nogpfs/lib/libhdf5.a -lz -lcurl 
> -L/usr/local/intel/cs_2013.0.028/impi/4.1.0.024/intel64/lib 
> -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64
>  
> -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/ipp/../compiler/lib/intel64
>  -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe
 _2013.1.117/ipp/lib/intel64 
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64 
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64 
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/ 
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64 
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../../lib64/ -L/lib/../lib64 
-L/lib/../lib64/ -L/usr/lib/../lib64 -L/usr/lib/../lib64/ 
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/compiler/lib/intel64/
 
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/ipp/../compiler/lib/intel64/
 -L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/ipp/lib/intel64/ 
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/mkl/lib/intel64/ 
-L/gpfs/usr_loc_rh/intel/cs_2013.0.028/composer_xe_2013.1.117/tbb/lib/intel64/ 
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.6/../../../ -L/lib64 -L/lib/ 
-L/usr/lib64 -L/usr/lib -lmpi -lmpigf -lmpigi -lrt -lifport -lifcore -limf -lm 
-lipgo -lin
 tlc -lpthread -lsvml -lgcc -lgcc_s -lirc_s -ldl -lc    -soname libnetcdff.so.5 
-o .libs/libnetcdff.so.5.1.0
> ifort: command line warning #10006: ignoring unknown option '-fwhole-archive'
> ifort: command line warning #10006: ignoring unknown option 
> '-fno-whole-archive'
> ifort: command line warning #10006: ignoring unknown option '-rpath'
> ifort: command line warning #10006: ignoring unknown option '-rpath'
> ifort: command line warning #10006: ignoring unknown option '-soname'
> ifort: error #10236: File not found:  'libnetcdff.so.5'
> make[3]: *** [libnetcdff.la] Error 1
> make[3]: Leaving directory `/gpfs/usr_loc_rh/src/NETCDF/netcdf-4.1.3/fortran'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/gpfs/usr_loc_rh/src/NETCDF/netcdf-4.1.3/fortran'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/gpfs/usr_loc_rh/src/NETCDF/netcdf-4.1.3'
> make: *** [all] Error 2
> 
> Please advise,

First, I would advise to use the more recent separate C and Fortran netCDF 
releases

  netcdf-4.2.1.1
  netcdf-fortran-4.2 or netcdf-fortran-4.4-beta1

because it's more straightforward to get the C release working and installed 
first, 
then build the Fortran release to use it:

  http://www.unidata.ucar.edu/netcdf/docs/building.html

But you may still have problems, because we haven't tested with OpenMPI or 
adapted
netCDF to use OpenMPI, in case that's necessary.  All our tests have been with 
MPICH.

Our staff member with parallel I/O expertise left about a year ago, and we 
don't 
currently have much knowledge or experience with parallel I/O on HPC platforms,
although we will soon be getting some help in that area.

As far as the specific problem you reported, it looks like a problem with the 
mpiifort
wrapper.  It seems to be throwing in extra options such as --whole-archive and 
--no-whole-archive that are intended for the linker, so should instead appear as
-L,--whole-archive and -L,--no-whole-archive.  If these problems persist when 
you
update to newer versions of the netCDF-C and Fortran libraries, you may have to 
get
help from the mpiifort developers.

--Russ


Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: GNO-148344
Department: Support netCDF
Priority: Normal
Status: Closed