Some problem during compiling cp2k-4.1 using intel compiler

Alfio Lazzaro alfio.... at gmail.com
Thu Apr 12 08:26:46 UTC 2018


The error message is that you cannot link to BLAS.
My first question is that you are using ACML, which has a BLAS 
implementation, and then you are linking to librefblas.a?
I tried your arch file on my local CP2K installation. 
I have removed ACML and reordered the library in the linking. Note that I 
did a change in scalapack and lapack (in my case, I have installed 
lapack through scalapack).

CC         = gcc 
CPP        = 
FC         = mpif90 
LD         = mpif90 
AR         = ar -r 

FFTW_INC   = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/include 
FFTW_LIB   = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/lib 
LIBINT_INC = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/include 
LIBINT_LIB = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/lib 
LIBXC_INC  = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/include 
LIBXC_LIB  = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/lib 
SCALAPACK_LIB = 
/share/home/tshjiang/cp2k-4.1/tools/toolchain/install/scalapack-2.0.2/

DFLAGS     = -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=2\ 
            -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 
FCFLAGS   += -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC) 
LDFLAGS    = $(FCFLAGS) -dynamic-libgfortran 
LIBS       = -L$(FFTW_LIB) -lfftw3 -lfftw3_omp 
LIBS      += -L$(LIBINT_LIB) -lderiv -lint 
LIBS      += -L$(LIBXC_LIB)  -lxcf03 -lxc 
LIBS      += -L$(SCALAPACK_LIB) -lscalapack -lreflapack -lrefblas

Could you try if it links in your case?
It is definitely a problem with the library linking, so you have to check 
there...

I hope it helps to solve your problem.

Alfio






Il giorno mercoledì 11 aprile 2018 15:35:56 UTC+2, Tianshu Jiang in Beijing 
ha scritto:
>
> Hi Alfio,
> Sorry to bother you again. After I changed my arch file. The original 
> error disappear. But there exists some new error.
>
> /share/home/tshjiang/cp2k-4.1/lib/Linux-x86-64-gfortran/psmp/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_s':
> dbcsr_mm_hostdrv.F:(.text+0xc2): undefined reference to `sgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x14e): undefined reference to `sgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x1cd): undefined reference to `sgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x246): undefined reference to `sgemm_'
> /share/home/tshjiang/cp2k-4.1/lib/Linux-x86-64-gfortran/psmp/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_d':
> dbcsr_mm_hostdrv.F:(.text+0x332): undefined reference to `dgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x3be): undefined reference to `dgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x43d): undefined reference to `dgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x4b6): undefined reference to `dgemm_'
> /share/home/tshjiang/cp2k-4.1/lib/Linux-x86-64-gfortran/psmp/libdbcsrmm.a(dbcsr_mm_hostdrv.o): 
> In function `__dbcsr_mm_hostdrv_MOD_blas_process_mm_stack_c':
> dbcsr_mm_hostdrv.F:(.text+0x5a2): undefined reference to `cgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x62e): undefined reference to `cgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x6ad): undefined reference to `cgemm_'
> dbcsr_mm_hostdrv.F:(.text+0x726): undefined reference to `cgemm_'
>
> But I have no idea why there exist such error.
> The arch file is here
>
> CC         = gcc
> CPP        =
> FC         = mpif90
> LD         = mpif90
> AR         = ar -r
> ACML_INC   = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/acml-5.3.1/gfortran64/include
> ACML_LIB   = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/acml-5.3.1/gfortran64/lib
> FFTW_INC   = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/include
> FFTW_LIB   = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/fftw-3.3.4/lib
> LIBINT_INC = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/include
> LIBINT_LIB = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libint-1.1.4/lib
> LIBXC_INC  = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/include
> LIBXC_LIB  = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/libxc-2.2.2/lib
> DFLAGS     = -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=2\
>              -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$(ACML_INC) -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC)
> LDFLAGS    = $(FCFLAGS) -dynamic-libgfortran
> LIBS       = 
> /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/scalapack-2.0.2/libscalapack.a\
>             
>  /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/acml-5.3.1/gfortran64/lib/libacml.a\
>             
>  /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/lapack-3.5.0/liblapack.a\
>             
>  /share/home/tshjiang/cp2k-4.1/tools/toolchain/install/lapack-3.5.0/librefblas.a\
>              $(FFTW_LIB)/libfftw3.a\
>              $(FFTW_LIB)/libfftw3_threads.a\
>              $(LIBXC_LIB)/libxcf90.a\
>              $(LIBXC_LIB)/libxc.a\
>              $(LIBINT_LIB)/libderiv.a\
>              $(LIBINT_LIB)/libint.a
>
>
>
> 在 2018年4月7日星期六 UTC+8下午2:06:17,Alfio Lazzaro写道:
>>
>> Note that Intel 17.0.1 is not supported (see 
>> https://www.cp2k.org/dev:compiler_support ). Make sure that your CP2K 
>> installation goes through the regtest (
>> https://www.cp2k.org/dev:regtesting ).
>>
>> Alfio
>>
>>
>>
>> Il giorno venerdì 6 aprile 2018 14:11:57 UTC+2, Tianshu Jiang in Beijing 
>> ha scritto:
>>>
>>> Dear all, 
>>>
>>> I have been compiling cp2k-4.1 using intel compiler for several days but 
>>> there is always problems.
>>> I edit both Linux-x86-64-gfortran.psmp and Linux-x86-64-intel-mic.psmp 
>>> file according to the tutorial searched from the internet.
>>> But in my latest trial, the beginning is OK, then the error emerge. 
>>> The compiling environment is on our cluster, the version of Intel 
>>> compiler is 17.0.1, libint 1.1.4 and libxc 2.2.2.
>>> The error information is as follows
>>>
>>>
>>> mpiifort -c -D__MKL -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=3 -
>>> D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4 -D__parallel -D__SCALAPACK 
>>> -O2 -g -traceback -fpp -free -I/soft/intel_2017/
>>> compilers_and_libraries_2017/linux/mkl/include -I/soft/intel_2017/
>>> compilers_and_libraries_2017/linux/mkl/include/fftw -I/share/home/
>>> tshjiang/intel_cp2k/tools/toolchain/install/libint-1.1.4/include -I/
>>> share/home/tshjiang/intel_cp2k/tools/toolchain/install/libxc-2.2.2/include 
>>> -D__COMPILE_ARCH="\"Linux-x86-64-gfortran\"" -D__COMPILE_DATE="\"Fri 
>>> Apr  6 19:45:36 CST 2018\"" -D__COMPILE_HOST="\"ln02\"" -
>>> D__COMPILE_REVISION="\"svn:17462\"" -D__DATA_DIR=
>>> "\"/share/home/tshjiang/intel_cp2k/data\"" -D__SHORT_FILE__=
>>> "\"eri_mme/eri_mme_lattice_summation.F\"" /share/home/tshjiang/
>>> intel_cp2k/src/eri_mme/eri_mme_lattice_summation.F
>>> ld: group ended before it began (--help for usage)
>>> make[3]: *** [/share/home/tshjiang/intel_cp2k/exe/Linux-x86-64-gfortran/
>>> graph.psmp] Error 1
>>> make[3]: *** Waiting for unfinished jobs....
>>> make[2]: *** [all] Error 2
>>> make[1]: *** [psmp] Error 2
>>> make: *** [all] Error 
>>>
>>>
>>>
>>> I even can not figure out where is the error. The command of make is:
>>>
>>> make -j 8 ARCH=Linux-x86-64-gfortran VERSION=psmp
>>>
>>> the arch file looks like
>>>
>>> # Tested with: GFortran 4.9.2, MPICH 3.1, LAPACK 3.5.0, ScaLAPACK 2.0.2
>>> CC         = icc
>>> CPP        =
>>> FC         = mpiifort
>>> LD         = mpiifort
>>> AR         = ar -r
>>>
>>> LIBINT_INC = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>> libint-1.1.4/include
>>>
>>> LIBINT_LIB = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>> libint-1.1.4/lib
>>> LIBXC_INC  = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>> libxc-2.2.2/include
>>> LIBXC_LIB  = /share/home/tshjiang/intel_cp2k/tools/toolchain/install/
>>> libxc-2.2.2/lib
>>> DFLAGS     = -D__MKL -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__MPI_VERSION=3\
>>>              -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 -D__MAX_CONTR=4\
>>>              -D__parallel -D__SCALAPACK
>>> CFLAGS     = $(DFLAGS)
>>> CPPFLAGS   =
>>> MKLROOT    = /soft/intel_2017/compilers_and_libraries_2017/linux/mkl
>>> FCFLAGS    = $(DFLAGS) -O2 -g -traceback -fpp -free \
>>>              -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw -I$(
>>> LIBINT_INC) -I$(LIBXC_INC)
>>> FCFLAGS2   = $(DFLAGS) -O0 -g -traceback -fpp -free \
>>>              -I$(MKLROOT)/include -I$(MKLROOT)/include/fftw -I$(
>>> LIBINT_INC) -I$(LIBXC_INC)
>>> LDFLAGS    = $(FCFLAGS) -static-intel
>>> LDFLAGS_C  = $(FCFLAGS) -static-intel -nofor_main
>>> LIBS       = $(MKLROOT)/lib/intel64/libmkl_scalapack_lp64.a \
>>>              -WI,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a 
>>> \
>>>              $(MKLROOT)/lib/intel64/libmkl_sequential.a \
>>>              $(MKLROOT)/lib/intel64/libmkl_core.a \
>>>              $(MKLROOT)/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--
>>> end-group \
>>>              -lpthread -lm \
>>>              -L$(LIBXC_LIB) -lxcf90 -lxc \
>>>              $(LIBINT_LIB)/libderiv.a \
>>>              $(LIBINT_LIB)/libint.a -lstdc++
>>> mp2_optimize_ri_basis.o:mp2_optimize_ri_basis.F
>>>         $(FC) -c $(FCFLAGS2) $<
>>> hfx_contraction_methods.o:hfx_contraction_methods.F
>>>         $(FC) -c $(FCFLAGS2) $<
>>>
>>> Can anyone encounter the similar situation and give some advice. 
>>> I will be appreciated for your suggestion.
>>>
>>>
>>>
>>>
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20180412/77cd4b63/attachment.htm>


More information about the CP2K-user mailing list