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

Responder a