Try this page: http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
2014-02-26 2:00 GMT+01:00 Federico Iribarne <[email protected]>: > 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 <[email protected]> > *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 > -- Kind regards Nick
