I'm trying to use Intel MKL 10.0.4.023 with some third party code (NumPy) on 64-bit Linux.
I am able to successfully compile and link the code, but when I run it and call a function that uses MKL, I get the following error message:
MKL FATAL ERROR: /opt/intel/mkl/10.0.4.023/lib/em64t/libmkl_def.so: undefined symbol: i_free
The library that is called was linked against MKL with:
-shared -lmkl -lguide -lpthread -Wl,-rpath=/opt/intel/mkl/10.0.4.023/lib/em64t
I also tried using the "pure layered model" libraries as described in the User's Guide, but I get the same error.
The User's Guide also says:
Redefining is possible because Intel MKL actually uses pointers to memory functions (i_malloc, i_free, i_calloc, i_realloc) rather than the functions themselves.
If these symbols are not redefined, where are they supposed to come from?
Thanks for any help.