Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

Linking problems in IPP example code: "ipp_resize_mt.cpp" on OSX 10.13.6.

spence__ian
Beginner
958 Views

Hi,

Re: Safe C functions in IPP file vm_base.c link problems

First, I understand "libcommon.a" must be built. In using "common.xcodeproj", there's a build error:

"

In file included from /opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/components/common/include/safestring/safe_lib.h:67:

/opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/components/common/include/safestring/safe_mem_lib.h:62:16: error: conflicting types for 'memset_s'

extern errno_t memset_s(void *dest, rsize_t dmax, uint8_t value);

In module 'Darwin' imported from /opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/components/common/include/vm_base.h:32:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/string.h:145:9: note: previous declaration is here

errno_t memset_s(void *__s, rsize_t __smax, int __c, rsize_t __n) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);

"

Commenting out: extern errno_t memset_s(void *dest, rsize_t dmax, uint8_t value)  in "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/string.h" enables a successful build of libcommon.a

Now, when linking, getting this error:

"

ian$ clang++ src/ipp_resize_mt.cpp -I/opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/include -I/opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/components/common/include -L/opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/lib -lippi -lipps -lippcore -stdlib=libc++ /opt/intel/compilers_and_libraries_2019.5.281/mac/ipp/components/common/build/Release/libcommon.a

Undefined symbols for architecture x86_64:
  "__vsctprintf", referenced from:
      _vm_string_vsnprintf in libcommon.a(vm_base.o)
  "_memcpy_s", referenced from:
      _vm_memcpy in libcommon.a(vm_base.o)
  "_strncpy_s", referenced from:
      _vm_string_strncpy in libcommon.a(vm_base.o)
  "_vsnprintf_s", referenced from:
      _vm_string_vsnprintf in libcommon.a(vm_base.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

"

Any ideas would be greatly appreciated.

Thanks for looking,

Ian

 

0 Kudos
2 Replies
Ivan_G_Intel1
Employee
958 Views

Hello, Ian!
Thank you for reporting an issue, we will check it on our side.

Best regards,
Ivan Galanin.

0 Kudos
Ivan_G_Intel1
Employee
958 Views

Hello, Ian!

vsctprintf, memcpy_s, strncpy_s and vsnprintf_s are members of stdlib. Did you try to compile and build any other application, for example, a simple "Hello, World!" program?

Best regards,
Ivan Galanin.

 

0 Kudos
Reply