- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm moving from IPP6 to IPP7 and am having issues when linking an application to my shared object (which links to the ipp libraries). I had similar problems with IPP6 (http://software.intel.com/en-us/forums/showthread.php?t=82491) but now am having issues on both 32 and 64-bit linux and I cannot seem to resolve this the same way.
I am statically linking to the ipp, umc & uic libraries. I am using IPP 7.0.4.191 and have downloaded the 7.05.059 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 link errors.
Originally I was getting the following errors when building the application (first few errors):
I then set my LD_LIBRARY_PATH to point to the directory containing libiomp,libintlc andlibimf and now get the following error when building my app:
/opt/intel/ipp/7.0.4.191/compiler/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
I do have -lpthread specified for both the shared object and the application, but the error still occurs. Below is the link info for my shared object:
UIC_LIBS = "${UIC_IMAGE_DIR}/_bin/$(UIC_LIB_ARCH)/lib/uic_core_l.a" \\
UMC_LIBS = "${UMC_AVCODEC_DIR}/_bin/$(UMC_LIB_ARCH)/lib/libmpeg4_mux.a" \\
IPP_STATIC_LIBS = -L/work/netcdrom/Intel/IPP/7.0.4.191/lib/$(IPP_LIB_ARCH) \\
IPP_SHARED_LIBS = -L /opt/intel/ipp/7.0.4.191/compiler/lib/$(IPP_LIB_ARCH) -liomp5 -lintlc -limf
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
It looks that the code is threaded with GNU OpenMP libraries, and the JPEG sample code is threaded at the high level sample. So I suggest you linking with non threaded Intel IPP library.
Change:
-lippch_t \
-lippdc_t \
-lippcc_t \
-lippcv_t \
-lippj_t \
-lippvc_t \
-lippi_t \
-lipps_t \
-lippcore_t
to:
-lippch_l \
-lippdc_l \
-lippcc_l \
-lippcv_l \
-lippj_l \
-lippvc_l \
-lippi_l \
-lipps_l \
-lippcore_l
It does not need to add the -liomp5, but added the -lgomp -lpthread at the linkage frag.
Thanks,
Chao
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
It looks that the code is threaded with GNU OpenMP libraries, and the JPEG sample code is threaded at the high level sample. So I suggest you linking with non threaded Intel IPP library.
Change:
-lippch_t \
-lippdc_t \
-lippcc_t \
-lippcv_t \
-lippj_t \
-lippvc_t \
-lippi_t \
-lipps_t \
-lippcore_t
to:
-lippch_l \
-lippdc_l \
-lippcc_l \
-lippcv_l \
-lippj_l \
-lippvc_l \
-lippi_l \
-lipps_l \
-lippcore_l
It does not need to add the -liomp5, but added the -lgomp -lpthread at the linkage frag.
Thanks,
Chao
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page