[CP2K:7357] Re: CP2K compilation error - Error: Missing actual argument for argument 'mpi_comm_all' at (1)
Michael Banck
mba... at debian.org
Tue Jan 19 18:11:05 UTC 2016
Hi,
On Tue, Jan 19, 2016 at 09:52:43AM -0800, Ben Fotovich wrote:
> Thank you for your help! I've gotten much farther with compiling this than
> before! With that said, I'm not sure the ELPA issue has been fixed: after
> adding BLAS and LAPACK to LIBS in Linux-x86-64-gfortran.popt (see below for
> contents of file), I get a new compile error, that seems to reference ELPA2:
>
> /usr/local/openmpi-1.8.4/bin/mpif90 -D__FFTW3 -D__LIBINT -D__ELPA3
> -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4 -D__parallel
> -D__SCALAPACK -O2 -ffast-math -ffree-form -ffree-line-length-none
> -ftree-vectorize -funroll-loops -mtune=native
> -I/usr/local/fftw-3.3.4/include -I/usr/local/libint-1.1.4/include
> -I/usr/local/elpa-2015.11.001/include/elpa/modules
> -D__COMPILE_ARCH="\"Linux-x86-64-gfortran\"" -D__COMPILE_DATE="\"Tue Jan 19
> 10:25:00 MST 2016\"" -D__COMPILE_HOST="\"du-hpc\""
> -D__COMPILE_REVISION="\"svn:16458\""
> -D__DATA_DIR="\"/root/c/cp2k-3.0/data\"" -L -L/lib64
> -L/root/c/cp2k-3.0/lib/Linux-x86-64-gfortran/popt -o
> /root/c/cp2k-3.0/exe/Linux-x86-64-gfortran/cp2k_shell.popt cp2k_shell.o
> -lcp2kstart -lcp2kmc -lcp2kswarm -lcp2kmotion -lcp2kthermostat -lcp2kemd
> -lcp2ktmc -lcp2kmain -lcp2khfxbase -lcp2ksubsys -lcp2kxc -lcp2kao
> -lcp2kinput -lcp2kpw -lcp2kfft -lcp2kdbcsrwrap -ldbcsr -ldbcsrarnoldi
> -ldbcsrvec -ldbcsrmm -ldbcsrops -ldbcsrbblock -ldbcsrbdist -ldbcsrbase
> -ldbcsrdata -ldbcsrerr -lmicsmm -lclsmm -lcp2kacc -lcp2kaccmic
> -lcp2kaccopencl -lcp2kfm -lcp2kcommon -lcp2kmpiwrap -lcp2kgrid -lcp2kbase
> /usr/local/scalapack-2.0.2-gcc/lib/libscalapack-gnu.a
> /usr/local/fftw-3.3.4/lib/libfftw3.a /usr/local/libint-1.1.4/lib/libderiv.a
> /usr/local/libint-1.1.4/lib/libint.a
> /usr/local/lapack-3.5.0/lib/liblapack.a -L/usr/local/blas-3.5.0/lib/libblas
> -lblas -L/usr/local/elpa-2015.11.001/lib/libelpa_openmp.a
You are listing the elpa library here, but I though the -L option was
for directories. Try without the -L, similar to
/usr/local/libint-1.1.4/lib/libint.a.
> In function `__cp_fm_diag_MOD_choose_eigv_solver':
> cp_fm_diag.F:(.text+0x3514): undefined reference to
> `__elpa2_MOD_solve_evp_real_2stage'
> collect2: error: ld returned 1 exit status
>
> Looking in cp2k/src/fm/cp_fm_diag.F, I see these three line, at line 60:
>
> #if defined (__ELPA) || defined(__ELPA2) || defined(__ELPA3)
> USE ELPA2, ONLY: solve_evp_real_2stage
> #endif
>
> Could this be the issue?
ELPA3 is actually misleading in my opinion - there are ELPA1 and ELPA2
functions. The ELPA3 define you had to add is only to distinguish
between ELPA2 2015.03 and ELPA2 2015.11 - ELPA2b or something might have
been clearer. In any case, I don't believe this to be a problem.
> Contents of Linux-x86-64-gfortran.popt:
[...]
> ELPA_LIB = /usr/local/elpa-2015.11.001/lib
[...]
> LIBS = $(MPI_LIBRARY_PATH)/libscalapack-gnu.a\
> $(FFTW_LIB)/libfftw3.a\
> $(LIBINT_LIB)/libderiv.a\
> $(LIBINT_LIB)/libint.a\
> $(LAPACK_LIB)/liblapack.a\
> -L$(BLAS_LIB)/libblas -lblas\
> -L$(ELPA_LIB)/libelpa_openmp.a
See above, this line is wrong and should be fixed.
Michael
More information about the CP2K-user
mailing list