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

Responder a