Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
6663 Discussions

Intel Performance primitives 2021 Linux static linking error

fredvannijnatten
Beginner
349 Views

I've downloaded nuget package intelipp.static.linux-x64 version 2021.2.0.233 (latest available on nuget.org). I'm getting a lot of linking errors when using the function ippiFilterGaussianBorder_32f_C1R. If I remove the call to this function, my application links without problems with ipp, and I use a lot of different functions from ipp. This makes me believe there is a problem with this specific function in the static libs.

Best regards,

Fred van Nijnatten

 

FAILED: CalsetInfoTool
: && /usr/bin/c++ -Werror -O3 -DNDEBUG CMakeFiles/CalsetInfoTool.dir/Test/CalsetInfoTool/CalsetInfoTool.cpp.o -o CalsetInfoTool -L/home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64 -Wl,-rpath,"\$ORIGIN" libCalsetAPI.a libUtils.a Externals/LoggingTracing/libtracewriter.a -lippi -lipps -lippvm -lippcv -lippcore -lpthread && :
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_m7---ippiFilterGaussianBorder_32f_C1R.o): in function `m7_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x1754): undefined reference to `m7_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x1ad2): undefined reference to `m7_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x27f0): undefined reference to `m7_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x28ef): undefined reference to `m7_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2c22): undefined reference to `m7_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2cc5): undefined reference to `m7_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2d65): undefined reference to `m7_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x31c1): undefined reference to `m7_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3245): undefined reference to `m7_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x32c4): undefined reference to `m7_ippsSet_32f'
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_n8---ippiFilterGaussianBorder_32f_C1R.o): in function `n8_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x179d): undefined reference to `n8_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x1b07): undefined reference to `n8_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2730): undefined reference to `n8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2831): undefined reference to `n8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2b88): undefined reference to `n8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2c48): undefined reference to `n8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2ce5): undefined reference to `n8_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3145): undefined reference to `n8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x31c6): undefined reference to `n8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3244): undefined reference to `n8_ippsSet_32f'
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_y8---ippiFilterGaussianBorder_32f_C1R.o): in function `y8_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x14b6): undefined reference to `y8_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x1794): undefined reference to `y8_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2590): undefined reference to `y8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x269a): undefined reference to `y8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x29e5): undefined reference to `y8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2a87): undefined reference to `y8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2b27): undefined reference to `y8_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2f80): undefined reference to `y8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3004): undefined reference to `y8_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3083): undefined reference to `y8_ippsSet_32f'
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_e9---ippiFilterGaussianBorder_32f_C1R.o): in function `e9_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x11bc): undefined reference to `e9_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x13da): undefined reference to `e9_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x1fd2): undefined reference to `e9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x20d7): undefined reference to `e9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2427): undefined reference to `e9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x24c5): undefined reference to `e9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2565): undefined reference to `e9_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2941): undefined reference to `e9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x29e3): undefined reference to `e9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2a84): undefined reference to `e9_ippsSet_32f'
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_l9---ippiFilterGaussianBorder_32f_C1R.o): in function `l9_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x139f): undefined reference to `l9_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x15bd): undefined reference to `l9_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x21d2): undefined reference to `l9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x22df): undefined reference to `l9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2667): undefined reference to `l9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2705): undefined reference to `l9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x27a5): undefined reference to `l9_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2b44): undefined reference to `l9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2be7): undefined reference to `l9_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2c87): undefined reference to `l9_ippsSet_32f'
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_n0---ippiFilterGaussianBorder_32f_C1R.o): in function `n0_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x16e0): undefined reference to `n0_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x19be): undefined reference to `n0_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2830): undefined reference to `n0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2935): undefined reference to `n0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2c89): undefined reference to `n0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2d27): undefined reference to `n0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2dc7): undefined reference to `n0_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3181): undefined reference to `n0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x3224): undefined reference to `n0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x32c4): undefined reference to `n0_ippsSet_32f'
/usr/bin/ld: /home/fred/.vs/RE-Algo-Reconstruction/2ae21d01-4ceb-4af7-9377-f937b2266c1a/src/packages/intelipp.static.linux-x64.2021.2.0.233/lib/native/linux-x64/libippcv.a(ipcvsift_k0---ippiFilterGaussianBorder_32f_C1R.o): in function `k0_ippiFilterGaussianBorder_32f_C1R':
ipcvsift.c:(.text+0x1543): undefined reference to `k0_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x1801): undefined reference to `k0_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2530): undefined reference to `k0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2633): undefined reference to `k0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2987): undefined reference to `k0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2a25): undefined reference to `k0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2ac5): undefined reference to `k0_ippsSet_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2e64): undefined reference to `k0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2f07): undefined reference to `k0_ippsCopy_32f'
/usr/bin/ld: ipcvsift.c:(.text+0x2fa7): undefined reference to `k0_ippsSet_32f'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

0 Kudos
3 Replies
VidyalathaB_Intel
Moderator
322 Views

Hi Fred,

 

Thanks for reaching out to us.

 

I have tried running a sample code from https://www.intel.com/content/www/us/en/develop/documentation/ipp-dev-reference/top/volume-2-image-processing/filtering-functions-2/filters-with-borders/filtergaussianborder.html in which ippiFilterGaussianBorder_32f_C1R is included and could not reproduce the issue which you are getting.

If you are using Intel compilers there is an option called -qipp (https://www.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/compiler-reference/compiler-options/alphabetical-option-list.html) to do a quick link with Intel IPP library.

Eg: icc/icpc <file name> -qipp

You can give it a try with intel compilers and if you still face any issues you can get back to us with a sample reproducer and steps to reproduce the issue so that we could test it from our end.

Regards,

Vidya.

 

ShanmukhS_Intel
Moderator
303 Views

Hi Fred,

 

A gentle reminder:

As we haven't heard back from you, could you please provide us with an update regarding your issue? 

Best Regards,

Shanmukh.SS

VidyalathaB_Intel
Moderator
280 Views

Hi Fred,


We are closing this thread assuming that your issue is resolved. Please post a new question if you need any additional assistance from Intel as this thread will no longer be monitored.


Regards,

Vidya.


Reply