Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7157 Discussions

oneAPI 2025.0 (MKL): My code does not build any more

rbunger
Novice
1,937 Views

Hi,

 

I have been able to build my code using oneAPI 2024.2 and earlier. Now with oneAPI 2025.0 it does not build any more. I do not have a minimal running example or similar... I just know that I was able to build with 2024.2 and now I get multiple errors. I call the oneAPI via the Eigen library.

 

I have tried with CXX=icpx and CXX=g++.

 

Thanks,

 

Rainer

 

---

 

$HOME/intel.2025.0/oneapi/mkl/2025.0/include/mkl_direct_call.h:740:69: error: invalid conversion from ‘const void*’ to ‘const MKL_Complex16*’ {aka ‘const _MKL_Complex16*’} [-fpermissive]
740 | fname_unrolledc((side), (uplo), (transa), (diag), (m), (n), (const void *)(alpha), (const void *)(a), (lda), (void *)(b), (ldb)); \
| ^~~~~~~~~~~~~~~~~~~~~
| |
| const void*

 

$HOME/intel.2025.0/oneapi/mkl/2025.0/include/mkl_direct_call.h:763:71: note: in expansion of macro ‘MKL_DC_TRSM_CONVERT’
763 | #define ztrsm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb) MKL_DC_TRSM_CONVERT(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, mkl_dc_ztrsm, ztrsm_direct)
| ^~~~~~~~~~~~~~~~~~~

1 Solution
Aleksandra_K
Employee
1,170 Views

I'm sorry for making the confusion - by the next release, I meant the next standard release 2025.1, not 2025.0.1.


Regards,

Aleksandra


View solution in original post

9 Replies
Aleksandra_K
Employee
1,731 Views

Dear Rainer,

 

I have reproduced the issue using my sample code. It appeared that the problem probably is due to changes in the header file mkl_direct_call.h compared to earlier versions.

 

I have escalated this issue to our development team for further investigation and resolution.

 

Best regards,

Aleksandra 


rbunger
Novice
1,728 Views
0 Kudos
Aleksandra_K
Employee
1,545 Views

Hello Rainer,

 

I wanted to let you know that our developers have looked into the issue and confirmed that it will be fixed in the next release.


Thank you for notifying us about the issue.


Best regards,

Aleksandra 


rbunger
Novice
1,289 Views

Hi Aleksandra,

 

happy new year

 

There is a "next release" available (2025.0.1, Dec. 11 2024) so I tried that one in order to check if the problems building my code are gone. They are not, I get tons of errors (see below for the first few I encountered). Sorry again for not providing a MWE... As mentioned above, I'm am able to build with 2024.2.1...

 

Thanks for your efforts & kind regards

 

Rainer

 

---

home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:163:1: error: no matching function for call to 'mkl_dc_daxpy'
163 | EIGEN_BLAS_TRMV_CM(double, double, d, d, )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:134:7: note: expanded from macro 'EIGEN_BLAS_TRMV_CM'
134 | BLASPREFIX##axpy##BLASPOSTFIX(&n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)x, &incx, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135 | (BLASTYPE*)res_, &incy); \
| ~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:59:1: note: expanded from here
59 | daxpy
| ^
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:834:111: note: expanded from macro 'daxpy'
834 | #define daxpy(n,alpha,x,incx,y,incy) MKL_DC_AXPY_CONVERT(n, alpha, x, incx, y, incy, MKL_DC_DAXPY_CHECKSIZE, mkl_dc_daxpy, daxpy_direct)
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:827:9: note: expanded from macro 'MKL_DC_AXPY_CONVERT'
827 | fname_unrolledc((n), (const void *)(alpha), (const void *)(x), (incx), (void *)(y), (incy));\
| ^~~~~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_blas.h:892:22: note: candidate function not viable: cannot convert argument of incomplete type 'const void *' to 'const double *' for 2nd argument
892 | static __inline void mkl_dc_axpy (const MKL_INT *N, const mkl_dc_type *ALPHA, const mkl_dc_type *x, const MKL_INT *INCX, mkl_dc_type *y, const MKL_INT *INCY)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_blas.h:30:21: note: expanded from macro 'mkl_dc_axpy'
30 | #define mkl_dc_axpy mkl_dc_daxpy

 

---

home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:163:1: error: no matching function for call to 'daxpy_direct'
163 | EIGEN_BLAS_TRMV_CM(double, double, d, d, )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:134:7: note: expanded from macro 'EIGEN_BLAS_TRMV_CM'
134 | BLASPREFIX##axpy##BLASPOSTFIX(&n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)x, &incx, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135 | (BLASTYPE*)res_, &incy); \
| ~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:59:1: note: expanded from here
59 | daxpy
| ^
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:834:125: note: expanded from macro 'daxpy'
834 | #define daxpy(n,alpha,x,incx,y,incy) MKL_DC_AXPY_CONVERT(n, alpha, x, incx, y, incy, MKL_DC_DAXPY_CHECKSIZE, mkl_dc_daxpy, daxpy_direct)
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:830:9: note: expanded from macro 'MKL_DC_AXPY_CONVERT'
830 | fname_direct((n), (const void *)(alpha), (const void *)(x), (incx), (void *)(y), (incy), &mkl_direct_call_flag); \
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:96:6: note: candidate function not viable: cannot convert argument of incomplete type 'const void *' to 'const double *' for 2nd argument
96 | void daxpy_direct(const MKL_INT *n, const double *alpha, const double *x, const MKL_INT *incx, double *y, const MKL_INT *incy, const MKL_INT* flag);

 

---

/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:164:1: error: no matching function for call to 'mkl_dc_zaxpy'
164 | EIGEN_BLAS_TRMV_CM(dcomplex, MKL_Complex16, cd, z, )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:134:7: note: expanded from macro 'EIGEN_BLAS_TRMV_CM'
134 | BLASPREFIX##axpy##BLASPOSTFIX(&n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)x, &incx, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135 | (BLASTYPE*)res_, &incy); \
| ~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:63:1: note: expanded from here
63 | zaxpy
| ^
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:846:111: note: expanded from macro 'zaxpy'
846 | #define zaxpy(n,alpha,x,incx,y,incy) MKL_DC_AXPY_CONVERT(n, alpha, x, incx, y, incy, MKL_DC_ZAXPY_CHECKSIZE, mkl_dc_zaxpy, zaxpy_direct)
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:827:9: note: expanded from macro 'MKL_DC_AXPY_CONVERT'
827 | fname_unrolledc((n), (const void *)(alpha), (const void *)(x), (incx), (void *)(y), (incy));\
| ^~~~~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_blas.h:892:22: note: candidate function not viable: cannot convert argument of incomplete type 'const void *' to 'const MKL_Complex16 *' (aka 'const _MKL_Complex16 *') for 2nd argument
892 | static __inline void mkl_dc_axpy (const MKL_INT *N, const mkl_dc_type *ALPHA, const mkl_dc_type *x, const MKL_INT *INCX, mkl_dc_type *y, const MKL_INT *INCY)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_blas.h:52:21: note: expanded from macro 'mkl_dc_axpy'
52 | #define mkl_dc_axpy mkl_dc_zaxpy

 

---

/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:166:1: error: no matching function for call to 'caxpy_direct'
166 | EIGEN_BLAS_TRMV_CM(scomplex, MKL_Complex8, cf, c, )
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h:134:7: note: expanded from macro 'EIGEN_BLAS_TRMV_CM'
134 | BLASPREFIX##axpy##BLASPOSTFIX(&n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)x, &incx, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
135 | (BLASTYPE*)res_, &incy); \
| ~~~~~~~~~~~~~~~~~~~~~~~
<scratch space>:71:1: note: expanded from here
71 | caxpy
| ^
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:842:125: note: expanded from macro 'caxpy'
842 | #define caxpy(n,alpha,x,incx,y,incy) MKL_DC_AXPY_CONVERT(n, alpha, x, incx, y, incy, MKL_DC_CAXPY_CHECKSIZE, mkl_dc_caxpy, caxpy_direct)
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:830:9: note: expanded from macro 'MKL_DC_AXPY_CONVERT'
830 | fname_direct((n), (const void *)(alpha), (const void *)(x), (incx), (void *)(y), (incy), &mkl_direct_call_flag); \
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:98:6: note: candidate function not viable: cannot convert argument of incomplete type 'const void *' to 'const MKL_Complex8 *' (aka 'const _MKL_Complex8 *') for 2nd argument
98 | void caxpy_direct(const MKL_INT *n, const MKL_Complex8 *alpha, const MKL_Complex8 *x, const MKL_INT *incx, MKL_Complex8 *y, const MKL_INT *inc, const MKL_INT* flag);

 

 

---

/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h:91:35: error: no matching function for call to 'dtrsm_direct'
91 | EIGEN_BLAS_TRSM_L(double, double, dtrsm)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/bunger/MLFMM-2G/trunk/Source/../Third-Party-Libraries/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h:85:7: note: expanded from macro 'EIGEN_BLAS_TRSM_L'
85 | BLASFUNC(&side, &uplo, &transa, &diag, &m, &n, (const BLASTYPE*)&numext::real_ref(alpha), (const BLASTYPE*)a, \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 | &lda, (BLASTYPE*)_other, &ldb); \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:748:160: note: expanded from macro 'dtrsm'
748 | #define dtrsm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb) MKL_DC_TRSM_CONVERT(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb, mkl_dc_dtrsm, dtrsm_direct)
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:743:9: note: expanded from macro 'MKL_DC_TRSM_CONVERT'
743 | fname_direct((side), (uplo), (transa), (diag), (m), (n), (const void *)(alpha), (const void *)(a), (lda), (void *)(b), (ldb), &mkl_direct_call_flag); \
| ^~~~~~~~~~~~
/home/bunger/intel/oneapi/mkl/2025.0/include/mkl_direct_call.h:85:6: note: candidate function not viable: cannot convert argument of incomplete type 'const void *' to 'const double *' for 7th argument
85 | void dtrsm_direct(const char *side, const char *uplo, const char *transa, const char *diag, const MKL_INT *m, const MKL_INT *n, const double *alpha, const double *a, const MKL_INT *lda, double *b, const MKL_INT *ldb, const MKL_INT* flag);
| ^ ~~~~~~~~~~~~~~~~~~~

0 Kudos
nepacheo
Beginner
829 Views

Given the issue hasn't been fixed yet, is it possible to get access to the 2024.2.2 release? I can't find any way to download it from the website, and can only find 2025.0.1.

rbunger
Novice
740 Views

There is a selection box ("Choose your version") where you can select 2024.2.1.

0 Kudos
rbunger
Novice
1,531 Views

Hi,

 

many thanks for your efforts!

 

Kind regards

 

Rainer

0 Kudos
Aleksandra_K
Employee
1,171 Views

I'm sorry for making the confusion - by the next release, I meant the next standard release 2025.1, not 2025.0.1.


Regards,

Aleksandra


rbunger
Novice
65 Views

It works with the 2025.1, many thanks!

 

Kind regards,

 

Rainer

0 Kudos
Reply