- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Om Sachan (Intel)
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.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page