[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