Page 1 of 1

Compiling DALTON 2013.4

Posted: 28 Nov 2014, 18:41
by dmitriys566
Hello!
I have a problem with DALTON 2013.4
When I compile this, it writes:

Code: Select all

linux-qjs2:~/DALTON-2013.4-Source/build # make
[  0%] Built target gen1int
[  1%] Built target gen1int_interface
[  2%] Built target pelib
[  2%] Built target generate_binary_info
Scanning dependencies of target dalton
[  3%] Building Fortran object CMakeFiles/dalton.dir/binary_info.F90.o
Linking Fortran static library lib/libdalton.a
[ 69%] Built target dalton
Linking Fortran executable dalton.x
lib/libdalton.a(ccsd_energy.F.o): In function `ishurwitz_':
ccsd_energy.F:(.text+0x83d): undefined reference to `dgeev_'
lib/libdalton.a(cc_lanczos_drv.F.o): In function `cc_lanczos_drv_':
cc_lanczos_drv.F:(.text+0x3bd7): undefined reference to `dgeev_'
lib/libdalton.a(rspzfs.F.o): In function `zfsan1_':
rspzfs.F:(.text+0x13e2): undefined reference to `zheev_'
rspzfs.F:(.text+0x190b): undefined reference to `dsyev_'
lib/libdalton.a(sirlocsel.F.o): In function `locsum_':
sirlocsel.F:(.text+0x16f3): undefined reference to `dsyev_'
lib/libdalton.a(sirlocsel.F.o): In function `mexp_':
sirlocsel.F:(.text+0x2154): undefined reference to `zheev_'
lib/libdalton.a(sirqmmm.F.o): In function `make_qmmm_inverse_response_matrix_':
sirqmmm.F:(.text+0xfab6): undefined reference to `dsptrf_'
sirqmmm.F:(.text+0xffb0): undefined reference to `dsptri_'
lib/libdalton.a(sirqmmm.F.o): In function `get_ind_dipoles_1_':
sirqmmm.F:(.text+0x1315d): undefined reference to `dsptrf_'
sirqmmm.F:(.text+0x1319c): undefined reference to `dsptri_'
lib/libdalton.a(sirstex.F.o): In function `matfun_':
sirstex.F:(.text+0x406): undefined reference to `dsyev_'
lib/libdalton.a(sirstex.F.o): In function `uaug_':
sirstex.F:(.text+0xa4da): undefined reference to `dsyev_'
lib/libdalton.a(absorp.F.o): In function `absreduc_':
absorp.F:(.text+0xd9b7): undefined reference to `zsysv_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_lansp':
pe_lapack_interfaces.f90:(.text+0x118): undefined reference to `dlansp_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_ppcon':
pe_lapack_interfaces.f90:(.text+0x326): undefined reference to `dppcon_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_spcon':
pe_lapack_interfaces.f90:(.text+0x658): undefined reference to `dspcon_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_pptrs':
pe_lapack_interfaces.f90:(.text+0x92c): undefined reference to `dpptrs_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_pptri':
pe_lapack_interfaces.f90:(.text+0xab1): undefined reference to `dpptri_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_pptrf':
pe_lapack_interfaces.f90:(.text+0xc01): undefined reference to `dpptrf_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_sptrs':
pe_lapack_interfaces.f90:(.text+0xf17): undefined reference to `dsptrs_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_sptri':
pe_lapack_interfaces.f90:(.text+0x11c2): undefined reference to `dsptri_'
external/lib/libpelib.a(pe_lapack_interfaces.f90.o): In function `__pe_lapack_interfaces_MOD_sptrf':
pe_lapack_interfaces.f90:(.text+0x140f): undefined reference to `dsptrf_'
/usr/lib64/atlas/liblapack.a(ATL_dgetrfC.o): In function `ATL_dgetrfC':
ATL_getrfC.c:(.text+0x140): undefined reference to `cblas_dtrsm'
ATL_getrfC.c:(.text+0x19d): undefined reference to `cblas_dgemm'
ATL_getrfC.c:(.text+0x27d): undefined reference to `cblas_idamax'
ATL_getrfC.c:(.text+0x386): undefined reference to `cblas_idamax'
ATL_getrfC.c:(.text+0x4a2): undefined reference to `cblas_dtrsm'
ATL_getrfC.c:(.text+0x4b9): undefined reference to `cblas_idamax'
ATL_getrfC.c:(.text+0x6cd): undefined reference to `cblas_dscal'
ATL_getrfC.c:(.text+0x72f): undefined reference to `cblas_dscal'
ATL_getrfC.c:(.text+0x774): undefined reference to `cblas_dscal'
/usr/lib64/atlas/liblapack.a(ATL_dgetrfR.o): In function `ATL_dgetrfR':
ATL_getrfR.c:(.text+0xfc): undefined reference to `cblas_dtrsm'
ATL_getrfR.c:(.text+0x15f): undefined reference to `cblas_dgemm'
ATL_getrfR.c:(.text+0x223): undefined reference to `cblas_idamax'
ATL_getrfR.c:(.text+0x2ce): undefined reference to `cblas_dscal'
/usr/lib64/atlas/liblapack.a(ATL_dgetrs.o): In function `ATL_dgetrs':
ATL_getrs.c:(.text+0xb1): undefined reference to `cblas_dtrsm'
ATL_getrs.c:(.text+0xf3): undefined reference to `cblas_dtrsm'
ATL_getrs.c:(.text+0x161): undefined reference to `cblas_dtrsm'
ATL_getrs.c:(.text+0x1a8): undefined reference to `cblas_dtrsm'
ATL_getrs.c:(.text+0x222): undefined reference to `cblas_dtrsm'
/usr/lib64/atlas/liblapack.a(ATL_dgetrs.o):ATL_getrs.c:(.text+0x264): more undefined references to `cblas_dtrsm' follow
/usr/lib64/atlas/liblapack.a(ATL_ilaenv.o): In function `ATL_ilaenv':
ATL_ilaenv.c:(.text+0x261): undefined reference to `ATL_zGetNB'
ATL_ilaenv.c:(.text+0x367): undefined reference to `ATL_dGetNB'
ATL_ilaenv.c:(.text+0x3f7): undefined reference to `ATL_sGetNB'
ATL_ilaenv.c:(.text+0x433): undefined reference to `ATL_dGetNB'
ATL_ilaenv.c:(.text+0x4ab): undefined reference to `ATL_cGetNB'
ATL_ilaenv.c:(.text+0x4f9): undefined reference to `ATL_cGetNB'
ATL_ilaenv.c:(.text+0x50f): undefined reference to `ATL_sGetNB'
ATL_ilaenv.c:(.text+0x561): undefined reference to `ATL_zGetNB'
/usr/lib64/atlas/liblapack.a(ATL_dgetf2.o): In function `ATL_dgetf2':
ATL_getf2.c:(.text+0xb1): undefined reference to `cblas_idamax'
ATL_getf2.c:(.text+0x108): undefined reference to `cblas_dswap'
ATL_getf2.c:(.text+0x195): undefined reference to `ATL_dger'
ATL_getf2.c:(.text+0x234): undefined reference to `cblas_dscal'
collect2: error: ld returned 1 exit status
make[2]: *** [dalton.x] Ошибка 1
make[1]: *** [CMakeFiles/dalton.x.dir/all] Ошибка 2
make: *** [all] Ошибка 2
linux-qjs2:~/DALTON-2013.4-Source/build #
I have lapack, blas, atlas installed. When i compiled it earlier, it was OK.

Re: Compiling DALTON 2013.4

Posted: 29 Nov 2014, 13:40
by bast
dear Dmitriy,
the errors indicate that the LAPACK detection or linking failed.
can you please post the output produced by the setup script
before you started to compile the code?
it should print something about BLAS and LAPACK, these are the interesting lines.
based on that we will debug further.
best greetings,
radovan

Re: Compiling DALTON 2013.4

Posted: 29 Nov 2014, 15:00
by dmitriys566
Hello!
Thanks for answer.
Here the output:

Code: Select all

linux-qjs2:~/DALTON-2013.4-Source # ./setup
 FC=gfortran CC=gcc CXX=g++ cmake -DENABLE_MPI=OFF -DENABLE_SGI_MPT=OFF -DENABLE_OMP=OFF -DENABLE_64BIT_INTEGERS=OFF -DENABLE_CSR=OFF -DENABLE_SCALASCA=OFF -DENABLE_TIMINGS=OFF -DENABLE_XCFUN=OFF -DENABLE_STATIC_LINKING=OFF -DENABLE_SCALAPACK=OFF -DCMAKE_BUILD_TYPE=release /root/DALTON-2013.4-Source

-- System                : Linux
-- Processor type        : x86_64
-- Fortran compiler flags: -DVAR_GFORTRAN -DGFORTRAN=445 -ffloat-store -fcray-pointer -m64 -O3 -ffast-math -funroll-loops -ftree-vectorize -w
-- C compiler flags      : -std=c99 -DRESTRICT=restrict -DFUNDERSCORE=1 -DHAVE_NO_LSEEK64 -ffloat-store -m64 -O3 -ffast-math -funroll-loops -ftree-vectorize -Wno-unused
-- Libraries             : /usr/lib64/atlas/libf77blas.a;/usr/lib64/atlas/libcblas.a;/usr/lib64/atlas/libatlas.a;/usr/lib64/atlas/libatlas.a;/usr/lib64/atlas/liblapack.a
-- Definitions           : SYS_LINUX;SYS_UNIX;VAR_GFORTRAN;COMPILER_UNDERSTANDS_FORTRAN_2003;HAVE_ATLAS_BLAS;HAVE_ATLAS_LAPACK;BUILD_GEN1INT;BUILD_PELIB;VAR_MFDS;_FILE_OFFSET_BITS=64;IMPLICIT_NONE;BINARY_INFO_AVAILABLE;INSTALL_BASDIR="/root/DALTON-2013.4-Source/build/basis";INSTALL_WRKMEM=64000000;INSTALL_MMWORK=1
-- The Fortran compiler identification is GNU
-- The C compiler identification is GNU 4.8.1
-- The CXX compiler identification is GNU 4.8.1
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test COMPILER_UNDERSTANDS_FORTRAN03
-- Performing Test COMPILER_UNDERSTANDS_FORTRAN03 - Success
-- Math lib search order is MKL;ESSL;ATLAS;ACML;SYSTEM_NATIVE
-- You can select a specific type by defining for instance -D BLAS_TYPE=ATLAS or -D LAPACK_TYPE=ACML
-- or by redefining MATH_LIB_SEARCH_ORDER
-- Found BLAS: ATLAS (/usr/lib64/atlas/libf77blas.a;/usr/lib64/atlas/libcblas.a;/usr/lib64/atlas/libatlas.a)
-- Found LAPACK: ATLAS (/usr/lib64/atlas/libatlas.a;/usr/lib64/atlas/liblapack.a)
-- Configuring done
-- Generating done
-- Build files have been written to: /root/DALTON-2013.4-Source/build

   configure step is done
   now you need to compile the sources:
   $ cd build
   $ make

Re: Compiling DALTON 2013.4

Posted: 09 Dec 2014, 23:28
by bast
hi and sorry for late answer. i admit that i don't see the problem.
the configuration detects both the BLAS and LAPACK so it is curious
that the linking fails. a fallback alternative is to use the builtin math libs
with --blas=builtin --lapack=builtin.