Hi, Thanks for the response Nick. I´ve been out of country the last couple of months very busy with other things and couldnt put my mind to SIESTA compilation until a couple of days ago. I have tried to compile the program based on several arch.make file versions I found in the links you pointed out but with no success. In all cases, I got a lot of “undefined reference” messages. I was wondering, if I post my arch.make, would someone be so kind and let me know if there is something wrong? Maybe the problem is not the arch.make but the intel libraries themselves. I have Intel Cluster Studio 2013 installed on my system which comes with ifort 14.0.1 version. Thanks a lot in advance. Regards, Federico
From: Nick Papior Andersen Sent: Tuesday, December 31, 2013 8:44 AM To: [email protected] Subject: Re: [SIESTA-L] problem compiling siesta 3.2 with Intel mkl libraries Please search the mailling list, several questions has been posted previously regarding compilation of SIESTA with Intel compilers. See for instance: http://www.mail-archive.com/[email protected]/msg03979.html or http://www.mail-archive.com/[email protected]/msg04763.html Kind regards Nick 2013/12/31 <[email protected]> Hello, I´ve been trying to compile siesta 3.2 with intel mkl libraries (I have Intel Cluster Studio 2012 installed on my system) to no avail. As template for the arch.make file, I have used one of the examples that comes with Siesta package. It seems like the compiler is not using the intel libraries since exactly the same list of errors is produced when the corresponding lines in the arch.make file, are commented (that is, compiling without any Blas and lapack libraries). Here is my arch.make file: # # This file is part of the SIESTA package. # # Copyright (c) Fundacion General Universidad Autonoma de Madrid: # E.Artacho, J.Gale, A.Garcia, J.Junquera, P.Ordejon, D.Sanchez-Portal # and J.M.Soler, 1996- . # # Use of this software constitutes agreement with the full conditions # given in the SIESTA license, as signed by all legitimate users. # SIESTA_ARCH=intel9-mkl8 # # Intel fortran compiler 9 for linux with mkl 8 optimized blas and lapack # # Be sure to experiment with different optimization options. # You have quite a number of combinations to try... # # Note: The -mp1 option is necessary to recover IEEE floating point precision. # FC=ifort -m64 -mkl # FFLAGS= -w -xP -O3 -mp1 EXTRA_LIBS=-lpthread -lsvml FFLAGS_DEBUG= -g LDFLAGS= -static COMP_LIBS= RANLIB=ranlib # NETCDF_LIBS= NETCDF_INTERFACE= FPPFLAGS_CDF= # MPI_INTERFACE= MPI_INCLUDE= FPPFLAGS_MPI= # GUIDE=/opt/intel/mkl/lib/intel64/libguide.a LAPACK=/opt/intel/mkl/lib/intel64/libmkl_lapack95_ilp64.a BLAS=/opt/intel/mkl/lib/intel64/libmkl_blas95_ilp64.a LIBS=$(LAPACK) $(BLAS) $(GUIDE) $(EXTRA_LIBS) SYS=nag FPPFLAGS= $(FPPFLAGS_CDF) $(FPPFLAGS_MPI) # .F.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $< .f.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $< .F90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $< .f90.o: $(FC) -c $(FFLAGS) $(INCFLAGS) $< # And the list of errors is as follows: chkgmx.o: In function `chkgmx_': /home/siesta-3.2/Src/chkgmx.f:(.text+0x235): undefined reference to `ddot_' /home/siesta-3.2/Src/chkgmx.f:(.text+0x25b): undefined reference to `ddot_' denmat.o: In function `m_denmat_mp_denmat_': /home/siesta-3.2/Src/denmat.F:(.text+0x23ba): undefined reference to `dscal_' /home/siesta-3.2/Src/denmat.F:(.text+0x23db): undefined reference to `dscal_' dhscf.o: In function `dhscf_': /home/siesta-3.2/Src/dhscf.F:(.text+0xa710): undefined reference to `ddot_' /home/siesta-3.2/Src/dhscf.F:(.text+0xa737): undefined reference to `ddot_' /home/siesta-3.2/Src/dhscf.F:(.text+0xa79b): undefined reference to `ddot_' /home/siesta-3.2/Src/dhscf.F:(.text+0xa7c2): undefined reference to `ddot_' /home/siesta-3.2/Src/dhscf.F:(.text+0x13700): undefined reference to `ddot_' diagg.o: In function `diagg_': /home/siesta-3.2/Src/diagg.F:(.text+0xd3d): undefined reference to `dcopy_' m_efield.o: In function `m_efield_mp_orthogonalize_efield_': /home/siesta-3.2/Src/m_efield.F:(.text+0xa08): undefined reference to `ddot_' /home/siesta-3.2/Src/m_efield.F:(.text+0xa2c): undefined reference to `ddot_' /home/siesta-3.2/Src/m_efield.F:(.text+0xa51): undefined reference to `ddot_' /home/siesta-3.2/Src/m_efield.F:(.text+0xa75): undefined reference to `ddot_' /home/siesta-3.2/Src/m_efield.F:(.text+0xaf2): undefined reference to `ddot_' m_efield.o:/home/siesta-3.2/Src/m_efield.F:(.text+0xb19): more undefined references to `ddot_' follow inver.o: In function `inver_': /home/siesta-3.2/Src/inver.f:(.text+0x131): undefined reference to `dgetrf_' /home/siesta-3.2/Src/inver.f:(.text+0x16b): undefined reference to `dgetri_' ksv.o: In function `m_ksv_mp_ksv_pol_': /home/siesta-3.2/Src/ksv.f:(.text+0xcf6): undefined reference to `ddot_' /home/siesta-3.2/Src/ksv.f:(.text+0xf6d): undefined reference to `ddot_' /home/siesta-3.2/Src/ksv.f:(.text+0xfb6): undefined reference to `ddot_' /home/siesta-3.2/Src/ksv.f:(.text+0x22cf): undefined reference to `ddot_' linpack.o: In function `zgedi_': /home/siesta-3.2/Src/linpack.F:(.text+0x16b): undefined reference to `zscal_' /home/siesta-3.2/Src/linpack.F:(.text+0x1fe): undefined reference to `zaxpy_' /home/siesta-3.2/Src/linpack.F:(.text+0x5e3): undefined reference to `zaxpy_' /home/siesta-3.2/Src/linpack.F:(.text+0x650): undefined reference to `zswap_' linpack.o: In function `zgefa_': /home/siesta-3.2/Src/linpack.F:(.text+0x9e3): undefined reference to `zscal_' /home/siesta-3.2/Src/linpack.F:(.text+0xb09): undefined reference to `zaxpy_' minvec.o: In function `m_minvec_mp_minvec_': /home/siesta-3.2/Src/minvec.f:(.text+0xd4): undefined reference to `ddot_' /home/siesta-3.2/Src/minvec.f:(.text+0x146): undefined reference to `ddot_' /home/siesta-3.2/Src/minvec.f:(.text+0x1b8): undefined reference to `ddot_' /home/siesta-3.2/Src/minvec.f:(.text+0x3f4): undefined reference to `ddot_' /home/siesta-3.2/Src/minvec.f:(.text+0x61c): undefined reference to `ddot_' m_pulay.o: In function `m_pulaypulayx_mp_inverse_': /home/siesta-3.2/Src/m_pulay.F90:(.text+0x4036): undefined reference to `dgetrf_' /home/siesta-3.2/Src/m_pulay.F90:(.text+0x40f2): undefined reference to `dgetri_' cdiag.o: In function `cdiag_': /home/siesta-3.2/Src/cdiag.F:(.text+0x3a7): undefined reference to `ilaenv_' /home/siesta-3.2/Src/cdiag.F:(.text+0x3e8): undefined reference to `ilaenv_' /home/siesta-3.2/Src/cdiag.F:(.text+0x66e): undefined reference to `zhegvx_' /home/siesta-3.2/Src/cdiag.F:(.text+0x78b): undefined reference to `zpotrf_' /home/siesta-3.2/Src/cdiag.F:(.text+0x809): undefined reference to `zhegst_' /home/siesta-3.2/Src/cdiag.F:(.text+0x92c): undefined reference to `zheevx_' /home/siesta-3.2/Src/cdiag.F:(.text+0xabe): undefined reference to `zcopy_' /home/siesta-3.2/Src/cdiag.F:(.text+0xb4e): undefined reference to `ztrsm_' /home/siesta-3.2/Src/cdiag.F:(.text+0xfe3): undefined reference to `zhegv_' /home/siesta-3.2/Src/cdiag.F:(.text+0x13b1): undefined reference to `zcopy_' /home/siesta-3.2/Src/cdiag.F:(.text+0x148f): undefined reference to `zhemm_' /home/siesta-3.2/Src/cdiag.F:(.text+0x1560): undefined reference to `zgemm_' /home/siesta-3.2/Src/cdiag.F:(.text+0x3a80): undefined reference to `zgemm_' /home/siesta-3.2/Src/cdiag.F:(.text+0x3abf): undefined reference to `zcopy_' rdiag.o: In function `rdiag_': /home/siesta-3.2/Src/rdiag.F:(.text+0x363): undefined reference to `ilaenv_' /home/siesta-3.2/Src/rdiag.F:(.text+0x50c): undefined reference to `dsygvx_' /home/siesta-3.2/Src/rdiag.F:(.text+0x61f): undefined reference to `dpotrf_' /home/siesta-3.2/Src/rdiag.F:(.text+0x69d): undefined reference to `dsygst_' /home/siesta-3.2/Src/rdiag.F:(.text+0x1310): undefined reference to `dsyevx_' /home/siesta-3.2/Src/rdiag.F:(.text+0x192a): undefined reference to `dcopy_' /home/siesta-3.2/Src/rdiag.F:(.text+0x19b6): undefined reference to `dtrsm_' /home/siesta-3.2/Src/rdiag.F:(.text+0x1c32): undefined reference to `dsygv_' /home/siesta-3.2/Src/rdiag.F:(.text+0x1dfc): undefined reference to `dcopy_' /home/siesta-3.2/Src/rdiag.F:(.text+0x2261): undefined reference to `dsymm_' /home/siesta-3.2/Src/rdiag.F:(.text+0x28cd): undefined reference to `dgemm_' /home/siesta-3.2/Src/rdiag.F:(.text+0x3588): undefined reference to `dgemm_' /home/siesta-3.2/Src/rdiag.F:(.text+0x377e): undefined reference to `dcopy_' dsyevds.o: In function `dsyevds_': /home/siesta-3.2/Src/dsyevds.f:(.text+0x38): undefined reference to `lsame_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x51): undefined reference to `lsame_' /home/siesta-3.2/Src/dsyevds.f:(.text+0xd6): undefined reference to `lsame_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x109): undefined reference to `xerbla_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x12f): undefined reference to `lsame_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x275): undefined reference to `dlamch_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x28c): undefined reference to `dlamch_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x2e9): undefined reference to `dlansy_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x381): undefined reference to `dlascl_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x414): undefined reference to `dsytrd_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x457): undefined reference to `dsterf_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x4b1): undefined reference to `dstedc_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x50a): undefined reference to `dormtr_' /home/siesta-3.2/Src/dsyevds.f:(.text+0x550): undefined reference to `dscal_' zheevds.o: In function `zheevds_': /home/siesta-3.2/Src/zheevds.F90:(.text+0x38): undefined reference to `lsame_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x51): undefined reference to `lsame_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x10a): undefined reference to `lsame_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x13d): undefined reference to `xerbla_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x163): undefined reference to `lsame_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x2f7): undefined reference to `dlamch_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x30d): undefined reference to `dlamch_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x36a): undefined reference to `zlanhe_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x406): undefined reference to `zlascl_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x4a0): undefined reference to `zhetrd_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x4e8): undefined reference to `dsterf_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x561): undefined reference to `zstedc_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x5bd): undefined reference to `zunmtr_' /home/siesta-3.2/Src/zheevds.F90:(.text+0x67f): undefined reference to `dscal_' m_broyddj.o: In function `m_broyddj_mp_broyden_step_': /home/siesta-3.2/Src/m_broyddj.f90:(.text+0x4798): undefined reference to `dgetrf_' /home/siesta-3.2/Src/m_broyddj.f90:(.text+0x486a): undefined reference to `dgetri_' m_broyddj.o: In function `m_broyddj_mp_dlinds_': /home/siesta-3.2/Src/m_broyddj.f90:(.text+0xb006): undefined reference to `dgetrf_' /home/siesta-3.2/Src/m_broyddj.f90:(.text+0xb0a5): undefined reference to `dgetri_' mneighb.o: In function `neighbour_mp_mranger_..0': /home/siesta-3.2/Src/mneighb.f:(.text+0x1f7d): undefined reference to `ddot_' /home/siesta-3.2/Src/mneighb.f:(.text+0x24ae): undefined reference to `ddot_' /home/siesta-3.2/Src/mneighb.f:(.text+0x36cf): undefined reference to `ddot_' /home/siesta-3.2/Src/mneighb.f:(.text+0x4d17): undefined reference to `ddot_' mneighb.o: In function `neighbour_mp_mranger_': /home/siesta-3.2/Src/mneighb.f:(.text+0x72fd): undefined reference to `ddot_' mneighb.o:/home/siesta-3.2/Src/mneighb.f:(.text+0x782e): more undefined references to `ddot_' follow m_broyddj_nocomm.o: In function `m_broyddj_nocomm_mp_broyden_step_': /home/siesta-3.2/Src/m_broyddj_nocomm.f90:(.text+0x4ec4): undefined reference to `dgetrf_' /home/siesta-3.2/Src/m_broyddj_nocomm.f90:(.text+0x4f96): undefined reference to `dgetri_' m_broyddj_nocomm.o: In function `m_broyddj_nocomm_mp_dlinds_': /home/siesta-3.2/Src/m_broyddj_nocomm.f90:(.text+0xb8d6): undefined reference to `dgetrf_' /home/siesta-3.2/Src/m_broyddj_nocomm.f90:(.text+0xb975): undefined reference to `dgetri_' make: *** [siesta] Error 1 The config.log file exits with 0 value although it repeatedly reports that compilation is aborted for conftest.f (code 1). I guess all those undefined references comes from failing to link the intel libraries. Mind you, a smooth compilation is attained when I use the blas and lapack libraries that comes with siesta package. I will appreciate any help here. Many thanks in advance. Federico Iribarne -- Kind regards Nick
