Skip to content

Compilation and linking errors with Intel IPP/MKL 2018 #9622

@sergiud

Description

@sergiud
System information (version)
  • OpenCV => 3.3-dev (31348f8)
  • Operating System / Platform => Windows 10
  • Compiler => Visual Studio 15 2017
Detailed description

OpenCV does not compile with the standalone IPP and MKL 2018 (initial release). Some functionality in IPP IW has been either renamed or removed making it incompatible with previous releases. There are also linking errors related to MKL CBLAS:

"D:\Projects\opencv\build-vc141-x64\ALL_BUILD.vcxproj" (default target) (1) ->
"D:\Projects\opencv\build-vc141-x64\apps\annotation\opencv_annotation.vcxproj" (default target) (12) ->
"D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj" (default target) (13) ->
(Link target) ->
  hal_internal.obj : error LNK2019: unresolved external symbol cblas_sgemm referenced in function "int __cdecl lapack_gemm<float>(float const *,unsigned __int64,float const *,unsigned __int64,float,float const *,unsigned __int64,float,f
loat *,unsigned __int64,int,int,int,int)" (??$lapack_gemm@M@@YAHPEBM_K01M01MPEAM1HHHH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol cblas_dgemm referenced in function "int __cdecl lapack_gemm<float>(float const *,unsigned __int64,float const *,unsigned __int64,float,float const *,unsigned __int64,float,f
loat *,unsigned __int64,int,int,int,int)" (??$lapack_gemm@M@@YAHPEBM_K01M01MPEAM1HHHH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol cblas_cgemm referenced in function "int __cdecl lapack_gemm_c<float>(float const *,unsigned __int64,float const *,unsigned __int64,float,float const *,unsigned __int64,float
,float *,unsigned __int64,int,int,int,int)" (??$lapack_gemm_c@M@@YAHPEBM_K01M01MPEAM1HHHH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol cblas_zgemm referenced in function "int __cdecl lapack_gemm_c<float>(float const *,unsigned __int64,float const *,unsigned __int64,float,float const *,unsigned __int64,float
,float *,unsigned __int64,int,int,int,int)" (??$lapack_gemm_c@M@@YAHPEBM_K01M01MPEAM1HHHH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dgels_ referenced in function "int __cdecl lapack_QR<float>(float *,unsigned __int64,int,int,int,float *,unsigned __int64,float *,int *)" (??$lapack_QR@M@@YAHPEAM_KHHH010PEA
H@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dgeqrf_ referenced in function "int __cdecl lapack_QR<float>(float *,unsigned __int64,int,int,int,float *,unsigned __int64,float *,int *)" (??$lapack_QR@M@@YAHPEAM_KHHH010PE
AH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dgesdd_ referenced in function "int __cdecl lapack_SVD<float>(float *,unsigned __int64,float *,float *,unsigned __int64,float *,unsigned __int64,int,int,int,int *)" (??$lapa
ck_SVD@M@@YAHPEAM_K00101HHHPEAH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dgesv_ referenced in function "int __cdecl lapack_LU<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,int *)" (??$lapack_LU@M@@YAHPEAM_KH01HPEAH@Z) [D:\Proje
cts\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dgetrf_ referenced in function "int __cdecl lapack_LU<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,int *)" (??$lapack_LU@M@@YAHPEAM_KH01HPEAH@Z) [D:\Proj
ects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dposv_ referenced in function "int __cdecl lapack_Cholesky<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,bool *)" (??$lapack_Cholesky@M@@YAHPEAM_KH01HPEA_
N@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol dpotrf_ referenced in function "int __cdecl lapack_Cholesky<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,bool *)" (??$lapack_Cholesky@M@@YAHPEAM_KH01HPEA
_N@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol sgels_ referenced in function "int __cdecl lapack_QR<float>(float *,unsigned __int64,int,int,int,float *,unsigned __int64,float *,int *)" (??$lapack_QR@M@@YAHPEAM_KHHH010PEA
H@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol sgeqrf_ referenced in function "int __cdecl lapack_QR<float>(float *,unsigned __int64,int,int,int,float *,unsigned __int64,float *,int *)" (??$lapack_QR@M@@YAHPEAM_KHHH010PE
AH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol sgesdd_ referenced in function "int __cdecl lapack_SVD<float>(float *,unsigned __int64,float *,float *,unsigned __int64,float *,unsigned __int64,int,int,int,int *)" (??$lapa
ck_SVD@M@@YAHPEAM_K00101HHHPEAH@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol sgesv_ referenced in function "int __cdecl lapack_LU<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,int *)" (??$lapack_LU@M@@YAHPEAM_KH01HPEAH@Z) [D:\Proje
cts\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol sgetrf_ referenced in function "int __cdecl lapack_LU<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,int *)" (??$lapack_LU@M@@YAHPEAM_KH01HPEAH@Z) [D:\Proj
ects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol sposv_ referenced in function "int __cdecl lapack_Cholesky<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,bool *)" (??$lapack_Cholesky@M@@YAHPEAM_KH01HPEA_
N@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  hal_internal.obj : error LNK2019: unresolved external symbol spotrf_ referenced in function "int __cdecl lapack_Cholesky<float>(float *,unsigned __int64,int,float *,unsigned __int64,int,bool *)" (??$lapack_Cholesky@M@@YAHPEAM_KH01HPEA
_N@Z) [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
  D:\Projects\opencv\build-vc141-x64\bin\Debug\opencv_core330d.dll : fatal error LNK1120: 18 unresolved externals [D:\Projects\opencv\build-vc141-x64\modules\core\opencv_core.vcxproj]
Steps to reproduce
  1. Install Intel IPP/MKL 2018 (initial release)
  2. Compile OpenCV from the master branch

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions