Community
cancel
Showing results for 
Search instead for 
Did you mean: 
miro_ilias
Beginner
77 Views

Static linking PGI with MKL - missing `mkl_serv_default_xerbla'

Dear experts,

I am trying to couple PGI compilers with the MKL library in static manner. Please what library should I include/how to rearrange linking command to satisfy missing reference ?

ilias@login-sivvp.ui.savba.sk:/shared/home/ilias/Work/software/dirac/trunk_release/build_pgi_mkl_i8_dbg_static/./opt/pgi/linux86-64/13.10/bin/pgf90 -Bstatic -Wl,--no-export-dynamic -Wl,-E -DVAR_PGF90 -Bstatic -i8 -g CMakeFiles/cfread.x.dir/utils/cfread.F90.o -o cfread.x -L/shared/home/ilias/Work/software/dirac/trunk_release/build_pgi_mkl_i8_dbg_static/external/lib -L/shared/home/ilias/Work/software/dirac/trunk_release/build_pgi_mkl_i8_dbg_static/external/pcmsolver-build/external/lib lib/libdirac.a -lpcm -lgetkw /usr/lib64/libz.a lib/libxcfun.a -Wl,--start-group /opt/intel/mkl/lib/intel64/libmkl_lapack95_ilp64.a /opt/intel/mkl/lib/intel64/libmkl_intel_ilp64.a -mp -Wl,--end-group -Wl,--no-export-dynamic -lzceh -lstdz -lCz -lstdc++ -Wl,-rpath,/shared/home/ilias/Work/software/dirac/trunk_release/build_pgi_mkl_i8_dbg_static/external/lib:/shared/home/ilias/Work/software/dirac/trunk_release/build_pgi_mkl_i8_dbg_static/external/pcmsolver-build/external/lib: /opt/intel/mkl/lib/intel64/libmkl_core.a 

/opt/intel/mkl/lib/intel64/libmkl_intel_ilp64.a(_xerbla.o): In function `XERBLA':

../../../../serv/iface/thunks_ext_to_ker/_xerbla.c:(.text+0x1): undefined reference to `mkl_serv_default_xerbla'

ilias@login-sivvp.ui.savba.sk:/shared/home/ilias/Work/software/dirac/trunk_release/build_pgi_mkl_i8_dbg_static/.

 

0 Kudos
2 Replies
TimP
Black Belt
77 Views

I suspect it may work better if you use the start-group....end-group directives in accordance with link advisor putting (only and all of) the specified libraries between those directives.

https://software.intel.com/sites/products/mkl/MKL_Link_Line_Advisor%2B%2B.html

Dmitry_B_Intel
Employee
77 Views

Please use Link Line Advisor as Tim suggested.
The missing symbol is defined in the threading layer of MKL, which is missing on your link line.

Reply