New user self-registration is currently disabled. Please email eigen-core-team @ lists.tuxfamily.org if you need an account.
Bug 1300 - "_MatrixTypeNested is private within this context" compile error with SPQR
"_MatrixTypeNested is private within this context" compile error with SPQR
Status: RESOLVED FIXED
Product: Eigen
Classification: Unclassified
Component: Sparse
3.2
All All
: High Compilation Problem
Assigned To: Nobody
: test-needed
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-09-20 02:51 UTC by philip.avery
Modified: 2016-09-21 16:16 UTC (History)
3 users (show)



Attachments
error message (4.69 KB, text/x-log)
2016-09-20 02:51 UTC, philip.avery
no flags Details

Description philip.avery 2016-09-20 02:51:39 UTC
Created attachment 734 [details]
error message

The following program compiles with 3.2.9 but not the current 3.2 tip (changeset d32b21f4b988):

#include <Eigen/SPQRSupport>

int main()
{
  Eigen::SparseMatrix<double> m;
  Eigen::SPQR<Eigen::SparseMatrix<double> > s(m);

  Eigen::MatrixXd x,b;
  x = s.solve(b);
}

The error message is attached. This is with g++ version 5.4.0 on ubuntu 14.10
Comment 1 Christoph Hertzberg 2016-09-20 10:23:22 UTC
I confirm this. The offending commit appears to be:
https://bitbucket.org/eigen/eigen/commits/0730079b2
An easy work-around is to just make _MatrixTypeNested public. (Not sure if this is intended to be private?)
Comment 2 Gael Guennebaud 2016-09-21 16:16:37 UTC
https://bitbucket.org/eigen/eigen/commits/375cc69e113c/
Branch:      3.2
Summary:     Bug 1300: compilation fix in Block<Sparse>

Note You need to log in before you can comment on or make changes to this bug.