Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

MATLAB MEX Linking/Running problem - "undefined symbol: _ZTVN3tbb4taskE

rsharadh
Beginner
598 Views
Hi fellow developers,

I have recently started using the Intel C++ compiler. I have this C++ project that is compiled and built as a shared object, and called as a MEX function (.mexa64) from MATLAB. The IDE is Eclipse, the OS is Fedora 10 and the system is 64-bit. I also have the license for the Intel C++ Compiler. The project is built successfully. But when I call it from the MATLAB command line I get the following problem ...

>> [desc phi flag] = MEX_GetDescriptors(I, [], [], 380, 230, 100, 0, [10 0.5 20], 0)
??? Invalid MEX-file '/home/rsharadh/workspace/MEX_Shared_Linux/Debug/MEX_GetDescriptors.mexa64': /home/rsharadh/workspace/MEX_Shared_Linux/Debug/MEX_GetDescriptors.mexa64: undefined
symbol: _ZTVN3tbb4taskE.

Does anybody know what the problem is and what is the workaround?

A little bit more about the code - it uses IPP, TBB and MKL. The required shared libraries have been pointed to (to the best of my knowledge) using the LD_LIBRARY_PATH variable.

Sharadh
0 Kudos
2 Replies
Om_S_Intel
Employee
598 Views

You may use c++filt to demangle the symbol as below:

$ c++filt _ZTVN3tbb4taskE
vtable for tbb::task

It seems something is missing for TBB to work.

0 Kudos
Brandon_H_Intel
Employee
598 Views

You may use c++filt to demangle the symbol as below:

$ c++filt _ZTVN3tbb4taskE
vtable for tbb::task

It seems something is missing for TBB to work.


Welcome to the forums, Sharadh.

I agree with Om that there is something amiss with the linkage here thatis causing the Intel Threading Building Blocks to not be linked in properly. Is this shared object something you can test outside of Matlab* at all? It would be good to know if the linkage problem is due to the Matlab* layer interaction here or not.
0 Kudos
Reply