Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7014 Discussions

Static linking PGI with MKL - missing `mkl_serv_default_xerbla'

miro_ilias
Beginner
698 Views

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
Honored Contributor III
698 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

0 Kudos
Dmitry_B_Intel
Employee
698 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.

0 Kudos
Reply