- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I updated my version of oneAPI to 2022.1 and when I try to build one of our applications we are running into a problem with IPPCP. It's complaining about "ippcpdefs.h" with the following error
syntax error: missing ')' before '*' on the following line: typedef IppStatus (IPP_CALL *IppBitSupplier)(Ipp32u* pRand, int nBits, void* pEbsParams);
To make sure the problem is not associated with our software, I successfully built the IPPCP Examples. One thing I noticed about the examples is they do not include "ipp.h", which our software does. I modified one of the example projects to also include "ipp.h" and once I did this, I'm getting the exact same error.
This seems to indicate their is a problem using both IPP and IPPCP with the latest version.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
Thanks for the information.
I've tried including the ipp.h header file in the example code and could reproduce the errors that you are getting. My hunch is that the ordering of header files is the reason for the errors that we are getting, so I tried re-ordering the headers.
Instead of
#include "ipp.h" // With this line included, the example project has errors
#include "ippcp.h"
do
#include "ippcp.h"
#include "ipp.h"
Please let us know if it works.
Regards,
Vidya.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
Thanks for reaching out to us.
>> problem using both IPP and IPPCP with the latest version.
Could you please confirm whether you have observed the same issue with any of the previous versions of IPPCP? If yes, please let us know the version of IPPCP with which it runs successfully without any errors.
Also please provide us with the following details in reproducing the issue from our end.
> Sample reproducer (& steps to reproduce the issue if any)
> Compiler used
> OS Details
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for letting us know about the versions of IPP with which it worked without any errors.
It would be a great help if you could also provide us with the sample reproducer code with which we can reproduce the error with the latest IPP and proceed further.
UPDATE: Since you are facing the issue with the latest IPP and IPPCP(2021.5.0) we would like to remind you of a known issue incase if you miss it
"After installing the oneAPI Base Toolkit 2022.1, compiling applications with Win32 platform settings that require Intel® Integrated Performance Primitives (Intel® IPP) will fail. 32-bit Intel® IPP on Windows* OS are provided separately as part of Intel® oneAPI Base Toolkit 32-bit package. It can be downloaded here as an add-on. In order to build the Intel® IPP examples projects for "x86" configurations on Windows*, Intel® oneAPI Base Toolkit 32-bit package has to be installed."
Reference Link: https://www.intel.com/content/www/us/en/developer/articles/release-notes/release-notes-for-oneapi-integrated-performance-primitives.html
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vidya,
In order to duplicate the problem. I used the IPPCP Examples that are packaged in the IPPCP folder (.\oneApi\ippcp\2021.5.1\components\intel_ipp_crypto_examples_win.zip). In the zip file, is an example for aes. I updated the file .\aes\aes-256-ctr-decryption.cpp to include "ipp.h". Below is a snapshot of the change, (I also had to update the CMake setup to include the IPP include and library paths).
If I remove the #include "ipp.h", the project builds and runs. However with it included, the compiler complains about 'identifier "IppBitSupplier" is undefined' multiple times.
I'm doing this on Windows 10, and I duplicated the problem using the Visual Studio 2019 compiler and the Intel Compiler.
-----------------------------------------------------
#include <string.h>
#include "ipp.h" // With this line included, the example project has errors
#include "ippcp.h"
#include "examples_common.h"
/*! AES block size in bytes */
static const int AES_BLOCK_SIZE = 16;
/*! Key size in bytes */
static const int KEY_SIZE = 32;
-----------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
Thanks for the information.
I've tried including the ipp.h header file in the example code and could reproduce the errors that you are getting. My hunch is that the ordering of header files is the reason for the errors that we are getting, so I tried re-ordering the headers.
Instead of
#include "ipp.h" // With this line included, the example project has errors
#include "ippcp.h"
do
#include "ippcp.h"
#include "ipp.h"
Please let us know if it works.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
Reminder:
Could you please provide us with an update regarding the issue? If it is resolved, please confirm whether we can close this thread from our end.
Regards,
Vidya.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vidya,
Sorry for the slow response. I was busy with other stuff. I just tried including ippcp first and was able to compile. You can mark the issue as resolved.
Thanks,
-Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Brian,
>>You can mark the issue as resolved.
Thanks for accepting our solution.
As the issue is resolved we are closing this thread. Please post a new question if you need any additional assistance from Intel as this thread will no longer be monitored.
Have a Great Day!
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