'is_same_block': no matching overloaded function found
Summary
Compilation error when making 'check'
Environment
- Operating System : Windows
- Architecture : x64
- Eigen Version : 3.4.0
- Compiler Version -- The C compiler identification is MSVC 19.0.24215.1 -- The CXX compiler identification is MSVC 19.0.24215.1
- Compile Flags : CXX: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe CXX_FLAGS: /DWIN32 /D_WINDOWS /W4 /GR /EHsc /EHsc /wd4127 /wd4505 /wd4714 /D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS
- Vector Extension : Using architecture defaults
Steps to reproduce
unzip eigen-3.4.0.zip
cd eigen-3.4.0
mkdir build
cd build
cmake ..
-- Building for: Visual Studio 14 2015
-- Selecting Windows SDK version to target Windows 10.0.17763.
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test EIGEN_COMPILER_SUPPORT_CPP11
-- Performing Test EIGEN_COMPILER_SUPPORT_CPP11 - Success
-- Performing Test COMPILER_SUPPORT_std=cpp03
-- Performing Test COMPILER_SUPPORT_std=cpp03 - Failed
-- Performing Test standard_math_library_linked_to_automatically
-- Performing Test standard_math_library_linked_to_automatically - Success
-- Standard libraries to link to explicitly: none
-- Performing Test COMPILER_SUPPORT_OPENMP
-- Performing Test COMPILER_SUPPORT_OPENMP - Success
-- Found unsuitable Qt version "" from NOTFOUND
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - NOTFOUND
-- Could NOT find CHOLMOD (missing: CHOLMOD_INCLUDES CHOLMOD_LIBRARIES)
-- Could NOT find UMFPACK (missing: UMFPACK_INCLUDES UMFPACK_LIBRARIES)
-- Could NOT find KLU (missing: KLU_INCLUDES KLU_LIBRARIES)
-- Could NOT find SuperLU (missing: SUPERLU_INCLUDES SUPERLU_LIBRARIES SUPERLU_VERSION_OK) (Required is at least version "4.0")
-- A version of Pastix has been found but pastix_nompi.h does not exist in the include directory. Because Eigen tests require a version without MPI, we disable the Pastix backend.
-- Could NOT find SPQR (missing: SPQR_INCLUDES SPQR_LIBRARIES)
-- Found unsuitable Qt version "" from NOTFOUND
-- Performing Test COMPILER_SUPPORT_FASTMATH
-- Performing Test COMPILER_SUPPORT_FASTMATH - Failed
-- Performing Test COMPILER_SUPPORT_FPFAST
-- Performing Test COMPILER_SUPPORT_FPFAST - Success
-- Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least version "1.53.0")
-- Found Threads: TRUE
-- Could NOT find GoogleHash (missing: GOOGLEHASH_INCLUDES GOOGLEHASH_COMPILE)
-- Could NOT find Adolc (missing: ADOLC_INCLUDES ADOLC_LIBRARIES)
-- Could NOT find MPFR (missing: MPFR_INCLUDES MPFR_LIBRARIES MPFR_VERSION_OK) (Required is at least version "1.0.0")
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (Required is at least version "7.0")
-- Found unsuitable Qt version "" from NOTFOUND
-- Qt4 not found, so disabling the mandelbrot and opengl demos
-- ************************************************************
-- *** Eigen's unit tests configuration summary ***
-- ************************************************************
--
-- Build type: Release
-- Build site:
-- Build string:
-- Enabled backends:
-- Disabled backends: CHOLMOD, UMFPACK, KLU, SuperLU, PaStiX, METIS, SPQR, Qt4 support, Boost.Multiprecision, GoogleHash, Adolc, MPFR C++, fftw, OpenGL,
-- Default order: Column-major
-- Maximal matrix/vector size: 320
-- SSE2: Using architecture defaults
-- SSE3: Using architecture defaults
-- SSSE3: Using architecture defaults
-- SSE4.1: Using architecture defaults
-- SSE4.2: Using architecture defaults
-- AVX: Using architecture defaults
-- AVX2: Using architecture defaults
-- FMA: Using architecture defaults
-- AVX512: Using architecture defaults
-- AVX512DQ: Using architecture defaults
-- Altivec: Using architecture defaults
-- VSX: Using architecture defaults
-- MIPS MSA: Using architecture defaults
-- ARM NEON: Using architecture defaults
-- ARMv8 NEON: Using architecture defaults
-- S390X ZVECTOR: Using architecture defaults
-- C++11: OFF
-- SYCL: OFF
-- CUDA: OFF
-- HIP: OFF
--
CXX: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/cl.exe
CXX_FLAGS: /DWIN32 /D_WINDOWS /W4 /GR /EHsc /EHsc /wd4127 /wd4505 /wd4714 /D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS
Sparse lib flags:
...
cmake --build . --target check
...
Building Custom Rule C:/Users/wtambellini/eigen/eigen-3.4.0/test/CMakeLists.txt
block.cpp
C:\Users\wtambellini\eigen\eigen-3.4.0\test\block.cpp(116): error C2672: 'is_same_block': no matching overloaded function found [C:\Users\wtambellini\eigen\eigen-3.4.0\build\test\block_1.vcxproj]
C:\Users\wtambellini\eigen\eigen-3.4.0\test\block.cpp(299): note: see reference to function template instantiation 'void block<Eigen::Matrix<float,1,1,0,1,1>>(const MatrixType &)' being compiled
with
[
MatrixType=Eigen::Matrix<float,1,1,0,1,1>
]
C:\Users\wtambellini\eigen\eigen-3.4.0\test\block.cpp(116): error C2893: Failed to specialize function template 'internal::enable_if<Eigen::internal::is_same<T,U>::value,bool>::type is_same_block(const T1 &,const T2 &)' [C:\Users\wtambellini\eigen\eigen-3.4.0\bui
ld\test\block_1.vcxproj]
C:\Users\wtambellini\eigen\eigen-3.4.0\test\block.cpp(116): note: With the following template arguments:
C:\Users\wtambellini\eigen\eigen-3.4.0\test\block.cpp(116): note: 'T1=Eigen::Block<Derived,2,-1,false>'
C:\Users\wtambellini\eigen\eigen-3.4.0\test\block.cpp(116): note: 'T2=Eigen::Block<Derived,-1,-1,false>'
What is the current bug behavior?
Fatal compilation error
What is the expected correct behavior?
Compilation success
-
Have a plan to fix this issue.