Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7222 ディスカッション

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

rbunger
新規コントリビューター I
3,278件の閲覧回数

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 解決策
Aleksandra_K
モデレーター
2,511件の閲覧回数

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


元の投稿で解決策を見る

9 返答(返信)
Aleksandra_K
モデレーター
3,072件の閲覧回数

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
新規コントリビューター I
3,069件の閲覧回数
Aleksandra_K
モデレーター
2,886件の閲覧回数

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
新規コントリビューター I
2,630件の閲覧回数

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);
| ^ ~~~~~~~~~~~~~~~~~~~

nepacheo
ビギナー
2,170件の閲覧回数

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
新規コントリビューター I
2,081件の閲覧回数

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

rbunger
新規コントリビューター I
2,872件の閲覧回数

Hi,

 

many thanks for your efforts!

 

Kind regards

 

Rainer

Aleksandra_K
モデレーター
2,512件の閲覧回数

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
新規コントリビューター I
1,406件の閲覧回数

It works with the 2025.1, many thanks!

 

Kind regards,

 

Rainer

返信