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