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

error building a code using Scalapack, MKL 2019.5

shamov__grigory
Beginner
566 Views

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
Gennady_F_Intel
Moderator
566 Views

Grigory,

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: https://software.intel.com/content/www/us/en/develop/articles/intel-mkl-link-line-advisor.html

0 Kudos
shamov__grigory
Beginner
566 Views

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
Reply