Compiling NWChem with ARMCI NETWORK=MPI-TS


Clicked A Few Times
Dear all,

I am trying to compile NWChem with MPI. The environment variables I use are the following:

NWCHEM_TARGET=LINUX64
NWCHEM_MODULES=all
ARMCI_NETWORK=MPI-TS
LARGE_FILES=TRUE
USE_NOFSCHECK=TRUE
USE_MPI=y
USE_MPIF=y
USE_MPIF4=y
MPI_LOC=/opt/openmpi-1.6.3
MPI_LIB=/opt/openmpi-1.6.3/lib
MPI_INCLUDE=/opt/openmpi-1.6.3/include
LIBMPI=-lmpi_f90 -lmpi_f77 -lmpi -lpthread

Unfortunately, the compilation fails. The last lines of output from the "make" command are the following:

configure: searching for MPI_TS...
checking mpi.h usability... yes
checking mpi.h presence... yes
checking for mpi.h... yes
checking for library containing MPI_Init... no
configure: error: test for COMEX_NETWORK=MPI_TS failed
configure: error: ../../ga-5-2/comex/configure failed for comex
make[1]: *** [build/config.status] Error 1
make: *** [libraries] Error 1


I would appreciate very much suggestions that could lead to the solution of the problem.

Thanks for your help.

Forum Vet
Please replace your LIBMPI definition with the following one
LIBMPI="-lmpi_f90 -lmpi_f77 -lmpi -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl"

If this still does not work, please upload $NWCHEM_TOP/src/tools/build/config.log to a location where we can view it.
Cheers, Edo

Clicked A Few Times
Dear Edo,

I changed the LIBMPI definition to the one you suggested, but still the compilation failed with error messages similar to the previous ones. The last few lines of output of the "make" command are as follows:

checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether a simple C MPI program compiles... yes
configure: searching for MPI_TS...
checking mpi.h usability... yes
checking mpi.h presence... yes
checking for mpi.h... yes
checking for library containing MPI_Init... no
configure: error: test for COMEX_NETWORK=MPI_TS failed
configure: error: ../../ga-5-2/comex/configure failed for comex
make[1]: *** [build/config.status] Error 1
make: *** [libraries] Error 1

The file $NWCHEM_TOP/src/tools/build/config.log is available here:

https://webmail.unito.it/mailftp/uplister/get_file.php?file=ZmlsZXMvODIvRDcvMmI1OGRiZDAxNG...
All help is appreciated.

Forum Vet
Torstein,
Could you please post

$NWCHEM_TOP/src/tools/build/comex/build.log

(this file contains the details of the mpi_init failure)

Could you also report the output of the command

/opt/openmpi-1.6.3/bin/mpif90 -show

Clicked A Few Times
Dear Edo,

In the location $NWCHEM_TOP/src/tools/build/comex there is no file called "build.log". The folder contains one file called "config.log". This file is different from the config.log file in $NWCHEM_TOP/src/tools/build/.

The output of the command /opt/openmpi-1.6.3/bin/mpif90 -show is


ifort -I/opt/openmpi-1.6.3/include -I/opt/openmpi-1.6.3/lib -L/opt/openmpi-1.6.3/lib -lmpi_f90 -lmpi_f77 -lmpi -lrt -lnsl -lutil -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil

Thanks for your help.

Regards,
Torstein

Forum Vet
Quote:Tfjermestad Oct 31st 1:06 am
Dear Edo,

In the location $NWCHEM_TOP/src/tools/build/comex there is no file called "build.log". The folder contains one file called "config.log". This file is different from the config.log file in $NWCHEM_TOP/src/tools/build/.

Yes, that's the one I need to look at.
Sorry for mentioning build.log instead of config.log

Could you post
$NWCHEM_TOP/src/tools/build/comex/config.log

Clicked A Few Times
Here it is:

https://webmail.unito.it/mailftp/uplister/get_file.php?file=ZmlsZXMvODIvRDcvMmI1OGRiZDAxNG...
thanks for your help.

Forum Vet
MPI library compiled with icc?
Torstein,
After perusing the last config.log you posted,
I think that the MPI library you are using was compiled with the Intel C compiler icc,
and not with GNU's gcc.

In order to be sure of this, please send me the output of
mpicc -v
and of
mpicc -V

On more thing, after examining the output ofmpif90 -show,
I think it's better to use the following LIBMPI setting

LIBMPI=" -lmpi_f90 -lmpi_f77 -lmpi -lrt -lnsl -lutil -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil"

Forum Regular
Hi Tfjermestad,

The are some inconsistencies in the use of hyphens or underscores in the ARMCI_NETWORK names. Could you try ARMCI_NETWORK=MPI_TS instead of MPI-TS, please?

Best wishes, Huub

Clicked A Few Times
To Edo:

output of mpicc -v:

Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)

Output of mpicc -V:

gcc: '-V' option must have argument

Clicked A Few Times
Hi again,

With the new LIBMPI definition and ARMCI_NETWORK equal to MPI_TS instead of MPI-TS the last lines of output from the make command are the following:

checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether a simple C MPI program compiles... yes
configure: searching for MPI_TS...
checking mpi.h usability... yes
checking mpi.h presence... yes
checking for mpi.h... yes
checking for library containing MPI_Init... no
configure: error: test for COMEX_NETWORK=MPI_TS failed
configure: error: ../../ga-5-2/comex/configure failed for comex
make[1]: *** [build/config.status] Error 1
make: *** [libraries] Error 1

It seems like the output doesn't change very much.


Forum >> NWChem's corner >> Compiling NWChem