We have a program that uses 32 bit version of MKL v10.2.6.037. The program had been tested and released for more than one year. Recently one user had this error dialog poping up saying "The procedure entry point mkl_serv_check_ptr_and_warn could not be located in the dynamic link library mkl_core.dll". But when I log on the same computer and run the program and I do not get that error. I've also checked that mkl_core.dll has only "mkl_serv_check_ptr".
Just wondering any one know why mkl_serv_check_ptr_and_warn is called instead of mkl_serv_check_ptr, and which dll has "mkl_serv_check_ptr_and_warn"?
Could you please tell how do you link mkl library in your program?
I check the symbols and the version information from https://software.intel.com/en-us/articles/which-version-of-the-intel-ipp-intel-mkl-and-intel-tbb-libraries-are-included-in-the-intel
mkl_serv_check_ptr was in early version
and mkl_serv_check_ptr_and_warn was added in composer 2015 version.
So from the error, may some other MKL version (or mkl embeded in third party) in the user's machine?
If in windows, you may use the MSVC Depend.exe tool to check the linked dynamic library.
The program was linked in Visual Studio 2010 professional with mkl_intel_c_dll.lib, mkl_core_dll.lib and mkl_sequential_dll.lib in \ia32\lib. It is distributed with mkl_core.dll, mkl_def.dll and mkl_sequential.dll, libiomp5md.dll and msvcr71.dll.
I'll check the computer to see whether there is any newer version of the library or third party software on that workstation or use Depend.exe on that PC to check dependency.
Thank you very much.