I am statically linking to the ipp, umc & uic libraries. I am using IPP 6.1.6.063 and have downloaded the 6.1 sample code. I am using g++.
I can build my own shared object that statically links to ipp and umc, but when I try to build an application that links to my shared object, I get the following link error:
/opt/intel/ipp/6.1.6.063/emt64/sharedlib/libiomp5.so: undefined reference to `pthread_atfork'
I did see the following note in this article: http://software.intel.com/en-us/articles/how-to-build-ipp-application-in-linux-environment/
Error message: /opt/intel/ipp/6.1.6.063/em64t/sharedlib/libiomp5.so: undefined reference to `pthread_atfork'
* Please make sure to link "-lpthread" library in your command line.
I do have -lpthread specified, but the error still occurs.
I originally had this problem under 32-bit linux, but this was resolved after specifying -lpthread after -libiomp5 in the linker file list. Using the same build command does not work under 64-bit linux though. I still get the same error.
One way to resolve this problem is to specify -lpthread when building the application. But this would require anyone using my shared object to do the same which shouldn't be necessary because as I mentioned it works properly under 32-bit linux.
Is there something specific to 64-bit that I am not considering?