This is the same problem as in Commit 09c5bd1: Fix compilation with ICC/MSVC combo (eigen/eigen) Following code fails compile with Intel C++ Compilers on windows 7 x64. I tested it in two different configurations; win7 x64 - Intel C++ 2015.1.148 integrated on vs2013 win7 x64 - Intel C++ 2011.0.104 integrated on vs2010 No problem with VC++ compilers! Code is as follows; #include <Eigen/SparseQR> using namespace Eigen; int main() { typedef Eigen::SparseMatrix< double > SparseDoubleMatrix; SparseQR< SparseDoubleMatrix, COLAMDOrdering<int> > solver; SparseDoubleMatrix A(10,10); // Just dummy matrix for now (I know how to use SparseMatrices properly :)) solver.compute(A); } Error stack is as follows; U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/Core/Block.h(110): error : class "Eigen::BlockImpl<const Eigen::SparseMatrix<double, 0, int>, -1, 1, 1, Eigen::Sparse>" has no member "operator=" EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Block) ^ detected during: instantiation of class "Eigen::Block<XprType, BlockRows, BlockCols, InnerPanel> [with XprType=const Eigen::SparseMatrix<double, 0, int>, BlockRows=-1, BlockCols=1, InnerPanel=1]" at line 260 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/SparseCore/SparseBlock.h" instantiation of "const Eigen::SparseMatrixBase<Derived>::ConstInnerVectorReturnType Eigen::SparseMatrixBase<Derived>::innerVector(Eigen::SparseMatrixBase<Derived>::Index) const [with Derived=Eigen::SparseMatrix<double, 0, int>]" at line 64 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/SparseCore/SparsePermutation.h" instantiation of "void Eigen::internal::permut_sparsematrix_product_retval<PermutationType, MatrixType, Side, Transposed>::evalTo(Dest &) const [with PermutationType=Eigen::PermutationBase<Eigen::PermutationMatrix<-1, -1, mplab::Index={Eigen::DenseIndex={ptrdiff_t={int}}}>>, MatrixType=Eigen::SparseMatrix<double, 0, int>, Side=2, Transposed=0, Dest=Eigen::SparseMatrix<double, 0, int>]" at line 61 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/Core/ReturnByValue.h" instantiation of "void Eigen::ReturnByValue<Derived>::evalTo(Dest &) const [with Derived=Eigen::internal::permut_sparsematrix_product_retval<Eigen::PermutationBase<Eigen::PermutationMatrix<-1, -1, mplab::Index={Eigen::DenseIndex={ptrdiff_t={int}}}>>, Eigen::SparseMatrix<double, 0, int>, 2, 0>, Dest=Eigen::SparseMatrix<double, 0, int>]" at line 180 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/SparseCore/SparseMatrixBase.h" instantiation of "Derived &Eigen::SparseMatrixBase<Derived>::operator=(const Eigen::ReturnByValue<OtherDerived> &) [with Derived=Eigen::SparseMatrix<double, 0, int>, OtherDerived=Eigen::internal::permut_sparsematrix_product_retval<Eigen::PermutationBase<Eigen::PermutationMatrix<-1, -1, mplab::Index={Eigen::DenseIndex={ptrdiff_t={int}}}>>, Eigen::SparseMatrix<double, 0, int>, 2, 0>]" at line 734 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/SparseCore/SparseMatrix.h" instantiation of "Eigen::SparseMatrix<_Scalar, _Options, _Index> &Eigen::SparseMatrix<_Scalar, _Options, _Index>::operator=(const Eigen::ReturnByValue<OtherDerived> &) [with _Scalar=double, _Options=0, _Index=int, OtherDerived=Eigen::internal::permut_sparsematrix_product_retval<Eigen::PermutationBase<Eigen::PermutationMatrix<-1, -1, mplab::Index={Eigen::DenseIndex={ptrdiff_t={int}}}>>, Eigen::SparseMatrix<double, 0, int>, 2, 0>]" at line 508 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/SparseQR/SparseQR.h" instantiation of "void Eigen::SparseQR<_MatrixType, _OrderingType>::factorize(const Eigen::SparseQR<_MatrixType, _OrderingType>::MatrixType &) [with _MatrixType=Eigen::SparseMatrix<double, 0, int>, _OrderingType=Eigen::COLAMDOrdering<int>]" at line 87 of "U:\Development\trunk\libs\eigen-mp-3.2\Eigen\src/SparseQR/SparseQR.h" instantiation of "void Eigen::SparseQR<_MatrixType, _OrderingType>::compute(const Eigen::SparseQR<_MatrixType, _OrderingType>::MatrixType &) [with _MatrixType=Eigen::SparseMatrix<double, 0, int>, _OrderingType=Eigen::COLAMDOrdering<int>]" at line 731 of "ArithmeticOperators.cpp"
Created attachment 624 [details] Workaround Could you try the following patch (for eigen 3.2.x), thanks.
great it seems this patch fixed the problem.. thank you
Pushed: https://bitbucket.org/eigen/eigen/commits/70e0e28516d0/combo
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/1106.