Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Creating a customdylib

apolo74
Beginner
322 Views
I have created a customso of the IPP functions that I'm using in my application for linux 32 and linux 64, but I'm having problems creating the MacOS version of this. The non-threaded version for 32- and 64bit seems to be created after hundreds of warnings of the type:
ld: warning: could not create compact unwind for _m7_ippiConvValid_32f_C1R: register saved more than once (might be shrink wrap)
The threaded version fails after the same hundreds of warnings similar to the example above:
Undefined symbols for architecture x86_64:
"__intel_fast_memcpy", referenced from:
_m7_ippiCopyConstBorder_32s_C1R in libippi_t.a(piconstlbordca_split_m7_ippiCopyConstBorder_32s_C1R.o)
_u8_ippiCopyConstBorder_32s_C1R in libippi_t.a(piconstlbordca_split_u8_ippiCopyConstBorder_32s_C1R.o)
_y8_ippiCopyConstBorder_32s_C1R in libippi_t.a(piconstlbordca_split_y8_ippiCopyConstBorder_32s_C1R.o)
"__intel_fast_memset", referenced from:
_m7_ippiFFTFwd_RToPack_32f_C1R in libippi_t.a(pifftf_split_m7_ippiFFTFwd_RToPack_32f_C1R.o)
_m7_ippiFFTInv_PackToR_32f_C1R in libippi_t.a(pifftf_split_m7_ippiFFTInv_PackToR_32f_C1R.o)
_u8_ippiFFTFwd_RToPack_32f_C1R in libippi_t.a(pifftf_split_u8_ippiFFTFwd_RToPack_32f_C1R.o)
_u8_ippiFFTInv_PackToR_32f_C1R in libippi_t.a(pifftf_split_u8_ippiFFTInv_PackToR_32f_C1R.o)
_y8_ippiFFTFwd_RToPack_32f_C1R in libippi_t.a(pifftf_split_y8_ippiFFTFwd_RToPack_32f_C1R.o)
_y8_ippiFFTInv_PackToR_32f_C1R in libippi_t.a(pifftf_split_y8_ippiFFTInv_PackToR_32f_C1R.o)
ld: symbol(s) not found for architecture x86_64
libtool: internal link edit command failed
make: *** [bin/intel64_gcc4/libbadIPP_t.dylib] Error 1
+----------------------------------------------------------------------------+
|-FAILED customdylib Thu Aug 11 08:52:53 PM 2011
+----------------------------------------------------------------------------+
In my application I'm using functions from ipps, ippi and ippvm so I have modified the Makefile.intel64 and Makefile.ia32 to include those libraries:
ifdef THR_SFX
IPPLIB := ippi_t ipps_t ippvm_t ippcore_t
ILIB := $(LIBPTHREAD)
else
IPPLIB := ippi_l ipps_l ippvm_l ippcore_l
endif
Is there something else I should do for MacOS? Thanks in advance for your help,
Boris
0 Kudos
2 Replies
Ying_H_Intel
Employee
322 Views
Hello apolo74.

The error messsage
"Undefined symbols for architecture x86_64:
"__intel_fast_memcpy" looks familiar.

Would you like to try add libirc*.under compiler lib folderand see if you can work around the issue?
http://software.intel.com/en-us/articles/unresolved-external-symbol-_intel_fast_memcpy/

Best Regards,
Ying H.
0 Kudos
apolo74
Beginner
322 Views
Hello apolo74.

The error messsage
"Undefined symbols for architecture x86_64:
"__intel_fast_memcpy" looks familiar.

Would you like to try add libirc*.under compiler lib folderand see if you can work around the issue?
http://software.intel.com/en-us/articles/unresolved-external-symbol-_intel_fast_memcpy/

Best Regards,
Ying H.

Dear Ying, thanks for the tip... it's working now.
Cheers,
Boris
0 Kudos
Reply