mvapich, nonblocking build issue

Brent Woodruff brent at fprimex.com
Mon Sep 12 12:02:08 CDT 2011


Hello all,

I am attempting to build parallel-netcdf 1.2.0 on RHEL 6.1 with mvapich 1.2.0 and am running into a problem. I have successful builds with mvapich2 and openmpi.

I should also note that I am replacing pnetcdf.h.in with this one from SVN because I intend to use this pnetcdf with netcdf 4.1.3:
http://trac.mcs.anl.gov/projects/parallel-netcdf/export/925/trunk/src/lib/pnetcdf.h.in

Here's my procedure:
Unpack, replace pnetcdf.h.in

export CC=gcc
export CXX=g++
export FC=gfortran
export F90=gfortran
export CFLAGS="-O2 -g -fPIC"
export CXXFLAGS="-O2 -g -fPIC"
export FFLAGS="-O2 -g -fPIC"

  module load gnu-mvapich # sets MPI paths
  export MPICC=$MPI_BIN/mpicc
  export MPICXX=$MPI_BIN/mpicxx
  export MPIF77=$MPI_BIN/mpif77
  export MPIF90=$MPI_BIN/mpif90

  ./configure \
     --prefix=$MPI_HOME \
     --includedir=$MPI_INCLUDE \
     --libdir=$MPI_LIB \
     --sysconfdir=$MPI_SYSCONFIG \
     --enable-fortran \
     --with-mpi=$MPI_HOME

The result of configure before make is:
parallel-netCDF version 1.2.0 features:
. parallel-netcdf configured WITH support for large files
. parallel-netcdf configured WITH fortran bindings
. parallel-netcdf configured WITHOUT nonblocking routines
. parallel-netcdf configured WITH giant variable support

However, I noticed that nonblocking does get built before creating libraries. Here's the tail of make up to the error:

[ ... snip successful compiled of other objects ... ]
/opt/hpc/gnu/mvapich/bin/mpicc -c -O2 -g -fPIC -I.    ../../../src/lib/nonblocking.c
/opt/hpc/gnu/mvapich/bin/mpicc -c -O2 -g -fPIC -I.    ../../../src/lib/malloc.c
ar cru libpnetcdf.a mpinetcdf.o header.o mpincio.o attr.o dim.o error.o nc.o ncx.o string.o var.o ncmpidtype.o convert_swap.o filetype.o getput_var.o getput_var1.o getput_vara.o getput_vars.o getput_varm.o i_getput_var.o i_getput_var1.o i_getput_vara.o i_getput_vars.o i_getput_varm.o m_getput_varx.o nonblocking.o malloc.o
ranlib libpnetcdf.a
m4 -B10000 -DAPI=C ../../../src/lib/../../man/netcdf.m4 >pnetcdf.3  || rm pnetcdf.3
m4: Warning: `m4 -B' may be removed in a future release
/opt/hpc/gnu/mvapich/bin/mpicc -c -O2 -g -fPIC -I.    ../../../src/lib/validator.c
/opt/hpc/gnu/mvapich/bin/mpicc -o ncvalid -O2 -g -fPIC  validator.o libpnetcdf.a
libpnetcdf.a(nonblocking.o): In function `ncmpii_mgetput':
/mnt/devel/BUILD/parallel-netcdf-1.2.0/gnu-mvapich/src/lib/../../../src/lib/nonblocking.c:727: undefined reference to `MPI_Get_address'
/mnt/devel/BUILD/parallel-netcdf-1.2.0/gnu-mvapich/src/lib/../../../src/lib/nonblocking.c:733: undefined reference to `MPI_Get_address'
collect2: ld returned 1 exit status
make[3]: *** [ncvalid] Error 1
make[3]: Leaving directory `/mnt/devel/BUILD/parallel-netcdf-1.2.0/gnu-mvapich/src/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/devel/BUILD/parallel-netcdf-1.2.0/gnu-mvapich/src'
make[1]: *** [subdir_target] Error 1
make[1]: Leaving directory `/mnt/devel/BUILD/parallel-netcdf-1.2.0/gnu-mvapich'
make: *** [src/lib/all] Error 2

Any suggestions would be appreciated!

Brent W.


More information about the parallel-netcdf mailing list