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

Intel Performance primitives 2021 Linux static linking error

fredvannijnatten
Beginner
490 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
463 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.

 

0 Kudos
ShanmukhS_Intel
Moderator
444 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

0 Kudos
VidyalathaB_Intel
Moderator
421 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.


0 Kudos
Reply