Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Undefined symbol error

I searched the forum for an answer to my question but I didnt find it:

I am trying to write a DSO for another program (Renderman) to use.
I have downloaded and compiled tbb21_20080605oss and I have written a small program using parallel_for and I am able to compile it using gmake w/o any errors or warnings.

However when I try to call it from my other program I recieve the following error:
undefined symbol: _ZTVN3tbb4taskE

Does this mean that I am not linking against the correct libraries when I am compiling my tbb tool? Another problem?
Any help is greatly appreciated.

0 Kudos
1 Reply

This is interesting. The symbol you mentioned should be explicitly exported by either debug or release TBB libraries.

One possible problem is that the TBB binaries are not found by loader in your environment setup for Renderman; ensure that the TBB binaries are located in a directory that the loader can search. E.g. on Linux, try using LD_LIBRARY_PATH, or simply copy to /usr/local/lib or another directory you know for sure is searched by the loader.

If the above does not help, please provide more information. What HW and operating system do you use? Could you set the environment variable TBB_VERSION to 1, run your test, and provide the lines TBB puts to stdout (all starting with TBB:)? Do I understand it right that Renderman tries to load your program dynamically (as a plugin) and fails?

0 Kudos