Showing results for 
Search instead for 
Did you mean: 

error building a code using Scalapack, MKL 2019.5

Hi All,

I wonder if this forum is an appropriate place for the question. I could not find a forum for MKL, so I will try my luck here.

We have purchased the Intel 2019 Suite for our HPC machine, but a C++ code of one of the users now fails to build with icpc/MKL, with the following errors: 

my-path/intel/compilers_and_libraries_2019.5.281/linux/mkl/include/mkl_scalapack.h(3531): error: more than one instance of overloaded function "numroc_" has "C" linkage
  MKL_INT numroc_(const MKL_INT* n, const MKL_INT* nb, const MKL_INT* iproc,

I am almost sure we did not do anything special with MKL headers when installing the 2019.5 suite, and the code used to be able to build with an ancient version of Intel 2015 and corresponding  MKL.


Could you please advise, what is the Numroc_ overloaded function that all of sudden started to cause problems? How to fix it? Thanks!


Grigory Shamov,

University of Manitoba 

0 Kudos
2 Replies


You can take a look at PBLAS ( mkroot/examples/pblasc/source ) or ScaLapack (mkroot/examples/scalapackf) examples and see how to build these examples. You may also check the list and order of mkl's libs you need to properly link to follow with MKL Linker Adviser tips:

0 Kudos

Thanks for the answer!

The error is at compile time, comes from C++ compiler somehow unhappy with the headers, so any link order is irrelevant.

The particular source code file  compiles with an older Intel 15.0.2 and its headers.


Grigory Shamov


0 Kudos