[CP2K:7357] Re: CP2K compilation error - Error: Missing actual argument for argument 'mpi_comm_all' at (1)

Ben Fotovich ano... at gmail.com
Mon Jan 25 21:36:03 CET 2016


Hey Michael and Alfio,

Thanks for your help! I was finally able to get CP2K 3.0 to compile 
correctly without errors.

I was erroneously using Linux-x86-64-gfortran.popt for compiling. I ended 
up compiling Linux-x86-64-gfortran.sopt, then Linux-x86-64-gfortran.ssmp, 
then Linux-x86-64-gfortran.popt, then finally Linux-x86-64-gfortran.psmp, 
to track down compilation errors and correct them.

Here is the contents of Linux-x86-64-gfortran.psmp which compiled 
successfully with Scalapack, Lapack, Blas, FFTW, LIBINT, and our OpenMPI 
and OpenMP libraries:

CC         = /usr/local/openmpi-1.8.4/bin/mpicc
CPP        =
FC         = /usr/local/openmpi-1.8.4/bin/mpif90
LD         = /usr/local/openmpi-1.8.4/bin/mpif90
AR         = /usr/bin/ar -r
BLAS_LIB   = /usr/local/blas-3.5.0/lib
LAPACK_LIB = /usr/local/lapack-3.5.0/lib
ELPA_LIB   = /usr/local/elpa-2015.11.001/lib
ELPA_INC   = /usr/local/elpa-2015.11.001/include/elpa/modules
FFTW_INC   = /usr/local/fftw-3.3.4-gcc/include
FFTW_LIB   = /usr/local/fftw-3.3.4-gcc/lib
LIBINT_INC = /usr/local/libint-1.1.5/include
LIBINT_LIB = /usr/local/libint-1.1.5/lib
MPI_LIBRARY_PATH = /usr/local/scalapack-2.0.2-gcc/lib
DFLAGS     = -D__FFTW3 -D__LIBINT -D__ELPA3\
             -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4\
             -D__parallel -D__SCALAPACK
CPPFLAGS   =
FCFLAGS    = $(DFLAGS) -O2 -ffast-math -ffree-form -ffree-line-length-none\
             -fopenmp -ftree-vectorize -funroll-loops\
             -mtune=native\
             -I$(FFTW_INC) -I$(LIBINT_INC) -I$(ELPA_INC)
LDFLAGS    = $(FCFLAGS) -static-libgfortran
LIBS       = $(MPI_LIBRARY_PATH)/libscalapack-gnu.a\
             $(FFTW_LIB)/libfftw3.a\
             $(FFTW_LIB)/libfftw3_threads.a\
             $(LIBINT_LIB)/libderiv.a\
             $(LIBINT_LIB)/libint.a\
             $(LIBINT_LIB)/libr12.a\
             -L$(LAPACK_LIB) -llapack\
             -L$(BLAS_LIB) -lblas\
             $(ELPA_LIB)/libelpa_openmp.a\
             $(ELPA_LIB)/libelpa_openmp.so

Please note: the above is what worked for my environment.

Thanks again for your assistance!

Ben

On Tuesday, January 19, 2016 at 11:11:43 AM UTC-7, Michael Banck wrote:
>
> 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 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20160125/6d670102/attachment.html>


More information about the CP2K-user mailing list