- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I try to use the oneAPI Base Toolkit (IPP) toolkit in my application. On windows it works well and I'm now working on the Linux version. On windows I use the latest oneAPI 2022 - on Linus I think just the version 2021.4 is available. So I try to use this one. Since cmake "find_package(IPP REQUIRED)" is not working I add all folders (include/lib) and the required libraries manually.
I have one share library and one application that uses this shared library. In the share library I use the function ippsEncodeLZSS/ippsDecodeLZSS for compression and decompression. Since I do not use IPP somewhere else I want to link my shared library statically to the IPP/oneAPI functions.
here is the sections from cmake to link IPP to my shared library:
target_link_libraries( myLib ipps.a )
target_link_libraries( myLib ippcore.a )
target_link_libraries( myLib ippvm.a )
In my app I use this shared library. During linking I see IPP related unresolved references coming from my shared library - so statically linking didn't work the way I tried it.
What I get is this:
/home/user/.vs/Libraries/out/build/linux-Debug/myLib/myLib.so: undefined reference to `ippsDecodeLZSSInit_8u'
/home/user/.vs/Libraries/out/build/linux-Debug/myLib/myLib.so: undefined reference to `ippsEncodeLZSSInit_8u'
/home/user/.vs/Libraries/out/build/linux-Debug/myLib/myLib.so: undefined reference to `ippsEncodeLZSS_8u'
/home/user/.vs/Libraries/out/build/linux-Debug/myLib/myLib.so: undefined reference to `ippsEncodeLZSSFlush_8u'
/home/user/.vs/Libraries/out/build/linux-Debug/myLib/myLib.so: undefined reference to `ippsLZSSGetSize_8u'
/home/user/.vs/Libraries/out/build/linux-Debug/myLib/myLib.so: undefined reference to `ippsDecodeLZSS_8u'
Interesting is that I do not see undefined reference to ippsMalloc and ippsFree which I also use in the functions for compression and decompression.
UPDATE:
ippsMalloc and ippsFree is resolved just in the DEBUG configuration. If I compile a RELEASE version ippsMalloc and ippsFree are unresolved references.
Does anyone have any idea what I'm doing wrong? How can I use IPP so that it links statically to my shared library - if that is possible at all?
Thanks,
Daniel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Daniel,
Thanks for reaching out to us.
>> How can I use IPP so that it links statically to my shared library - if that is possible at all?
Could you please try adding the below line to your CMake file and try recompiling the application?
target_link_libraries( myLib ippdc.a )
Please do let us know if you still face any issues by providing us with a minimal reproducer and necessary CMake files (& steps to reproduce if any) so that we can work on it from our end.
Regards,
Vidya.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Daniel,
Thanks for reaching out to us.
>> How can I use IPP so that it links statically to my shared library - if that is possible at all?
Could you please try adding the below line to your CMake file and try recompiling the application?
target_link_libraries( myLib ippdc.a )
Please do let us know if you still face any issues by providing us with a minimal reproducer and necessary CMake files (& steps to reproduce if any) so that we can work on it from our end.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
thanks for your reply. Yes - that did the trick.
Thanks a lot.
Maybe it is a useful information if you add this library in the list of decencies in your documentation?
Daniel
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Daniel,
Thanks for accepting our solution.
>>Maybe it is a useful information if you add this library in the list of decencies in your documentation?
You can refer to the below IPP developer guide for more details
As your issue is resolved we are closing this thread from our end.
If you need any additional assistance from Intel, please post a new question as this thread will no longer be monitored.
Regards,
Vidya.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page