I am trying to get a program that uses TBB to offload work to two Xeon Phi coprocessors and I am running into a linking issue. I compiled with the Intel compiler using the -ltbb flag and received the following error message:
x86_64-k1om-linux-ld: /tmp/icpc16F7Ft.o: undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
x86_64-k1om-linux-ld: note: 'pthread_mutexattr_settype@@GLIBC_2.2.5' is defined in DSO /usr/linux-k1om-4.7/linux-k1om/lib64/libpthread.so.0 so try adding it to the linker command line
/usr/linux-k1om-4.7/linux-k1om/lib64/libpthread.so.0: could not read symbols: Invalid operation
Using the -tbb flag as suggested on page 26 of this document results in template errors. I made sure that the /usr/linux-k1om-4.7/linux-k1om/lib64 directory is in the LD_LIBRARY_PATH environment variable and I tried using the -lpthread flag as well. I have also used the -Wl,-rpath=/usr/linux-k1om-4.7/linux-k1om/lib64 as suggested here but this didn't help either. Any suggestions as to how to fix this?