Hi, I was hoping to use the nuget packages that are posted to nuget.org but I have run into a number of basic issues that I just can't believe haven't been experienced by others. According to nuget.org I am not the only one who has downloaded these packages...
I am having linker errors. It seems like the targets files are incorrectly authored and there appear to be missing files too...
Steps to reproduce:
create a brand new project and new solution (console exe) in VS2017.
in the nuget package manager console:
"Install-Package intelipp.devel.win-x64 -Version 2021.1.1.47"
in the configuration manager for both x64 Debug and Release select Dynamic linking and Sequential Threading for the intelipp.devel/win-x64/General settings
Error LNK1181 cannot open input file 'tbb12.lib' IntelIPPTest
So I did some investigation:
inteltbb.devel.win.targets is in:
tbb12.lib is in:
So I think that should be ..\..\..\lib not ..\..\lib or looking in an earlier versions (2019.3.235) of the nuget package the targets file was in build\native not build\native\nuget
After fixing that:
Error LNK1181 cannot open input file 'tbbproxy.lib' IntelIPPTest
tbbproxy.lib is not in the inteltbb.devel.win.2021.1.1.133 package
Yet is referenced here:
It is in the 2019.3.235 package
Also if you try changing Threading Layer from Sequential to TBB or OpenMP you get:
Error LNK1104 cannot open file 'ippcore_tl.lib' IntelIPPTest
<ItemDefinitionGroup Condition="'$(linkage-IPP-devel-win-x64)' != '' And '$(threading-IPP-devel-win-x64)' == 'tbb'">
The path is lib\native\win-x64\tbb, but in the nuget package the libs are in:
lib\native\win-x64\tl\tbb (Note the additional tl subdirectory)
Going back in time this never seems to have been correct. (at least back to 2019). The 2019 versions do not have the nuget subdirectory for the target files.
Thanks for reaching out to us.
The Intel IPP library has a dependency on Intel OpenMP, Intel TBB packages, and the devel packages on Windows also have a dependency on the runtime redist packages. So please try a clean installation of all the dependencies before the installation of intelipp.devel.win-x64 package.
You may also try to download and install the Intel Integrated Performance Primitives from the official site.
@AbhishekD_Intel intelipp.devel.win-x64 package does indeed depend on TBB and OpenMP but these get installed when you install IPP so I'm not sure that is the problem. Just to prove it I installed them separately before installing IPP and the result is exactly the same. The packages.config contain exactly the same packages:
<?xml version="1.0" encoding="utf-8"?>
<package id="intelipp.devel.win-x64" version="2021.1.1.47" targetFramework="native" />
<package id="intelipp.redist.win-x64" version="2021.1.1.47" targetFramework="native" />
<package id="intelopenmp.devel.win" version="2021.1.2.265" targetFramework="native" />
<package id="intelopenmp.redist.win" version="2021.1.2.265" targetFramework="native" />
<package id="inteltbb.devel.win" version="2021.1.1.133" targetFramework="native" />
<package id="inteltbb.redist.win" version="2021.1.1.133" targetFramework="native" />
Installing the OneAPI from the developer site is fine for developing on a single machine but does nothing for Continuous Integration that is what package management and nuget packages are all about. Manually going around and installing OneAPI on every machine that needs it would then require implementing some sort of auto-deployment... which is exactly what the nuget package is all about.
I just can't believe I am the only one with this problem. I'm no expert on nuget packages but if you look at my initial post I really believe that there are errors in how they are authored.
It is trivial to reproduce:
just make a new console app in visual studio, add the nuget package and set the configuration to Dynamic link and it will not build.
Might the cause of the problem is that the names of the tbb libs were changed since the latest version of IPP 2021 compares with the previous (2020) one.
Static ippcore lib renaming scheme:
IPP 2021 - ippcore_tl_tbb.lib
IPP 2020 - ippcore_tl.lib
IPP 2021 - ippcore_tl_tbb.dll
IPP 2020 - ippcore_tl.dll
A similar renaming happened regarding others lib/dll : ippcc_tl_tbb.dll and ippi_tl_tbb.dll ( color conversion and image processing correspondingly).
There is no feedaback. The issue is closing and we will no longer respond to this thread. If you require additional assistance from Intel, please start a new thread. Any further interaction in this thread will be considered community only.
I encountered the exact same issues as @npross when attempting to compile and link using the intelipp.devel.win-x64 2021.4 NuGet package. The package is faulty and is yet to be fixed for release 2021.4.
Additionally, I don't understand why it would be attempting to link against tbbproxy.lib when 'Sequential' is selected as the Threading Layer.
I had no issues with static linking using intelipp.static.win-x64.