NWChem 6.1 scalapack compilation fails


Click here for full thread
Forum Vet
I assume you did a make realclean before you build.

Can you check the src/tools/build/config.log to see if it actually picked up the SCALAPACK libraries? If you can figure it out, send me the config.log file at bert.dejong@pnnl.gov.

Bert

[QUOTE= Feb 1st 1:11 pm]I have successfully compiled NWChem v. 6.1, but when going forward to switch on support for scalapack, the last linking stage fails with unresolved symbols:
"""
/home/raber/NWChem/gcc/nwchem-6.1/lib/LINUX64/libnwdft.a(dft_diagn.o): In function `dft_scaleig_':
/home/raber/NWChem/gcc/nwchem-6.1/src/nwdft/scf_dft/dft_diagn.F:210: undefined reference to `ga_pdsyev_'
/home/raber/NWChem/gcc/nwchem-6.1/src/nwdft/scf_dft/dft_diagn.F:212: undefined reference to `ga_pdsyevx_'
/home/raber/NWChem/gcc/nwchem-6.1/src/nwdft/scf_dft/dft_diagn.F:214: undefined reference to `ga_pdsyevd_'
collect2: ld returned 1 exit status
"""

The script I use to compile NWChem is:


  1. !/bin/bash

export IB_HOME=/usr
export IB_INCLUDE=/usr/include/infiniband/
export IB_LIB=/usr/lib64
export IB_LIB_NAME="-libumad -libverbs -lpthread"
export ARMCI_NETWORK=OPENIB

export USE_SUBGROUPS=yes
export LARGE_FILES=yes

export USE_MPI=yes
export USE_MPIF=yes
export MSG_COMMS=MPI
export MPI_LOC=/usr/local/openmpi/gcc/1.4.4
export MPI_INCLUDE=$MPI_LOC/include
export MPI_LIB=$MPI_LOC/lib
export LIBMPI="-Wl,-rpath,/usr/local/openmpi/gcc/1.4.4/lib -lmpi -lmpi_f77 -lpthread -lz -lssl -static-libgcc"

export USE_PYTHON=yes
export PYTHONHOME=/usr
export PYTHONVERSION=2.6
export PYTHONPATH=./:$NWCHEM_TOP/contrib/python/

export NWCHEM_TARGET=LINUX64
  1. export NWCHEM_MODULES="all python"
export NWCHEM_MODULES="pnnl"
export NWCHEM_TOP=/home/raber/NWChem/gcc/nwchem-6.1
export NWCHEM_EXECUTABLE=$NWCHEM_TOP/bin/LINUX64/nwchem

export HAS_BLAS=yes
export USE_SCALAPACK=yes
export BLASOPT="-Wl,-rpath,/home/intel/composer_xe_2011_sp1.7.256/composer_xe_2012_sp1.7.256/mkl/lib/intel64 -L/home/intel/composer_xe_2011_sp1.7.256/composer_xe_2011_sp1.7.256/mkl/lib/intel64 -Wl,--start-group -lmkl_gf_ilp64 -lmkl_core -lmkl_sequential -lmkl_blacs_openmpi_ilp64 -lmkl_scalapack_ilp64 -Wl,--end-group"

cd $NWCHEM_TOP/src

make DIAG=PAR FC=gfortran CC=gcc FOPTIMIZE="-O3 -march=native" COPTIMIZE="-O3 -march=native" nwchem_config
make DIAG=PAR FC=gfortran CC=gcc FOPTIMIZE="-O3 -march=native" COPTIMIZE="-O3 -march=native" $1



I think I have followed the install instructions wrt scalapack but maybe I'm missing something. I find the subroutines in the code (i.e. ga_pdsyev{x,d}_ ), for instance in the files ~/nwchem-6.1/src/tools/{,ga-5-1}/global/src/scalapack.F but I can't find them in any of the link libraries or other object files( simple, brute force "grep"). Please advice.

Cheers,
Johan