[gpaw-users] Library-linking issue while compiling gpaw using mkl library

ksaha at physics.udel.edu ksaha at physics.udel.edu
Tue Jul 13 22:19:47 CEST 2010


Dear gpaw-users,

Did anybody get success in compliling the gpaw using intel mkl library? I
am getting some linking issue as follows:

mpicc -o build/bin.linux-x86_64-2.4//gpaw-python
build/temp.linux-x86_64-2.4/c/xc.o build/temp.linux-x86_64-2.4/c/blas.o
build/temp.linux-x86_64-2.4/c/rpbe.o build/temp.linux-x86_64-2.4/c/lfc2.o
build/temp.linux-x86_64-2.4/c/compiled_WITH_SL.o
build/temp.linux-x86_64-2.4/c/mgga.o build/temp.linux-x86_64-2.4/c/pw91.o
build/temp.linux-x86_64-2.4/c/vasiliev02prb.o
build/temp.linux-x86_64-2.4/c/lapack.o
build/temp.linux-x86_64-2.4/c/plane_wave.o
build/temp.linux-x86_64-2.4/c/libxc.o
build/temp.linux-x86_64-2.4/c/spline.o
build/temp.linux-x86_64-2.4/c/utilities.o
build/temp.linux-x86_64-2.4/c/tpss_ec.o
build/temp.linux-x86_64-2.4/c/mpi.o build/temp.linux-x86_64-2.4/c/vdw.o
build/temp.linux-x86_64-2.4/c/wigner_seitz.o
build/temp.linux-x86_64-2.4/c/_gpaw.o
build/temp.linux-x86_64-2.4/c/mlsqr.o build/temp.linux-x86_64-2.4/c/hdf5.o
build/temp.linux-x86_64-2.4/c/ensemble_gga.o
build/temp.linux-x86_64-2.4/c/transformers.o
build/temp.linux-x86_64-2.4/c/localized_functions.o
build/temp.linux-x86_64-2.4/c/lcao.o build/temp.linux-x86_64-2.4/c/lb94.o
build/temp.linux-x86_64-2.4/c/pbe.o build/temp.linux-x86_64-2.4/c/blacs.o
build/temp.linux-x86_64-2.4/c/symmetry.o
build/temp.linux-x86_64-2.4/c/tpss.o
build/temp.linux-x86_64-2.4/c/point_charges.o
build/temp.linux-x86_64-2.4/c/tpss_ex.o
build/temp.linux-x86_64-2.4/c/d2Excdn2.o
build/temp.linux-x86_64-2.4/c/cerf.o build/temp.linux-x86_64-2.4/c/bc.o
build/temp.linux-x86_64-2.4/c/lfc.o build/temp.linux-x86_64-2.4/c/plt.o
build/temp.linux-x86_64-2.4/c/operators.o
build/temp.linux-x86_64-2.4/c/io_wrappers.o
build/temp.linux-x86_64-2.4/c/bmgs/bmgs.o
build/temp.linux-x86_64-2.4/c/libxc/src/util.o
build/temp.linux-x86_64-2.4/c/libxc/src/special_functions.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_am05.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_perdew.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_pz.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_xc_hcth.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_c_am05.o
build/temp.linux-x86_64-2.4/c/libxc/src/functionals.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_b3lyp.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga_c_tpss.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga_x_m06l.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_xalpha.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_pbe.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_b3p86.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_b86.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_b88.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_dk87.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_b3pw91.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga_c_m06l.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_lg93.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_xc_teter93.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_optx.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_pbea.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_pw86.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_rpa.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_x.o
build/temp.linux-x86_64-2.4/c/libxc/src/lca.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_b1wc.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_b86_mgc.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_wigner.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_c_pw91.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_wc.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_pw.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_c_lyp.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_x3lyp.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_xc_lb.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga_x_tpss.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_g96.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_ft97.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_pw91.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_mpbe.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga_c_revtpss.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_vwn.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_xc_edf1.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_o3lyp.o
build/temp.linux-x86_64-2.4/c/libxc/src/mgga_x_revtpss.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_xc_xlyp.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_amgb.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_c_pbe.o
build/temp.linux-x86_64-2.4/c/libxc/src/lca_omc.o
build/temp.linux-x86_64-2.4/c/libxc/src/hyb_gga_xc_pbeh.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_x_rpbe.o
build/temp.linux-x86_64-2.4/c/libxc/src/lda_c_hl.o
build/temp.linux-x86_64-2.4/c/libxc/src/gga_c_p86.o
build/temp.linux-x86_64-2.4/c/libxc/src/lca_lch.o 
-L/usr/lib64/python2.4/config -lblas -llapack -lpython2.4 -lpthread -ldl 
-lutil -lm  -L/share/apps/intel/mkl/10.2.0.013/lib/em64t
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_scalapack_lp64.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_solver_lp64_sequential.a
-Wl,--start-group
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_intel_lp64.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_sequential.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_core.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_blacs_intelmpi_lp64.a
-Wl,--end-group -lpthread -L/usr/kerberos/lib64 -Xlinker -export-dynamic
/usr/lib64/python2.4/config/libpython2.4.a(posixmodule.o): In function
`posix_tmpnam':
(.text+0x665): warning: the use of `tmpnam_r' is dangerous, better use
`mkstemp'
/usr/lib64/python2.4/config/libpython2.4.a(posixmodule.o): In function
`posix_tempnam':
(.text+0x748): warning: the use of `tempnam' is dangerous, better use
`mkstemp'
build/temp.linux-x86_64-2.4/c/lapack.o: warning: memset used with constant
zero length parameter; this could be due to transposed parameters
build/temp.linux-x86_64-2.4/c/mpi.o: In function `diagonalize':
c/mpi.c:(.text+0x33bb): undefined reference to `Cblacs_gridinit_'
c/mpi.c:(.text+0x33fa): undefined reference to `Cblacs_gridinfo_'
c/mpi.c:(.text+0x345b): undefined reference to `Cblacs_pnum_'
c/mpi.c:(.text+0x4060): undefined reference to `Cpdgemr2d_'
c/mpi.c:(.text+0x40d3): undefined reference to `Cblacs_gridexit_'
build/temp.linux-x86_64-2.4/c/mpi.o: In function `inverse_cholesky':
c/mpi.c:(.text+0x4379): undefined reference to `Cblacs_gridinit_'
c/mpi.c:(.text+0x43b8): undefined reference to `Cblacs_gridinfo_'
c/mpi.c:(.text+0x4419): undefined reference to `Cblacs_pnum_'
c/mpi.c:(.text+0x488c): undefined reference to `Cpdgemr2d_'
c/mpi.c:(.text+0x4943): undefined reference to `Cblacs_gridexit_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function `new_blacs_context':
c/blacs.c:(.text+0x819): undefined reference to `Cblacs_pinfo_'
c/blacs.c:(.text+0x84b): undefined reference to `Cblacs_gridinit_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function `get_blacs_gridinfo':
c/blacs.c:(.text+0x8b5): undefined reference to `Cblacs_gridinfo_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function `get_blacs_local_shape':
c/blacs.c:(.text+0x94a): undefined reference to `Cblacs_gridinfo_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function `blacs_destroy':
c/blacs.c:(.text+0x9c0): undefined reference to `Cblacs_gridexit_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function `scalapack_redist':
c/blacs.c:(.text+0xbbb): undefined reference to `Cpdtrmr2d_'
c/blacs.c:(.text+0xc25): undefined reference to `Cpztrmr2d_'
c/blacs.c:(.text+0xc9a): undefined reference to `Cpdgemr2d_'
c/blacs.c:(.text+0xcf3): undefined reference to `Cpzgemr2d_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function
`scalapack_diagonalize_ex':
c/blacs.c:(.text+0x128d): undefined reference to `Cblacs_gridinfo_'
build/temp.linux-x86_64-2.4/c/blacs.o: In function
`scalapack_general_diagonalize_ex':
c/blacs.c:(.text+0x2495): undefined reference to `Cblacs_gridinfo_'

* Using standard lapack
* Compiling gpaw with mpiicc
* Compiling with ScaLapack
* Architecture: linux-x86_64
* Building a custom interpreter
* linking FAILED!  Only serial version of code will work.

Here is the mkl library I put in customize.py:

extra_link_args = ['-L/share/apps/intel/mkl/10.2.0.013/lib/em64t
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_scalapack_lp64.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_solver_lp64_sequential.a
-Wl,--start-group
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_intel_lp64.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_sequential.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_core.a
/share/apps/intel/mkl/10.2.0.013/lib/em64t/libmkl_blacs_intelmpi_lp64.a
-Wl,--end-group -lpthread']

Thanks in advance for your suggestion!

Regards.
Kamal

==========================================================
 Kamal K. Saha
 Department of Physics and Astronomy
 University of Delaware
 Newark, DE 19716-2570
 Phone: (302) 831-8519, Fax: (302) 831-1637

 http://web.physics.udel.edu/about/directory/postdoc/kamal-k-saha
==========================================================



More information about the gpaw-users mailing list