Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Surface_reconstruction_points_3, macports, eigen problem

Subject: CGAL users discussion list

List archive

[cgal-discuss] Surface_reconstruction_points_3, macports, eigen problem


Chronological Thread 
  • From: <>
  • To:
  • Subject: [cgal-discuss] Surface_reconstruction_points_3, macports, eigen problem
  • Date: Wed, 20 Jun 2012 16:19:31 +0200 (CEST)

I have installed *CGAL 4.0* on a Mac OS 10.6 using *macports*. As a test
case, I tried to compile the example given in /Triangulation_2/, using the
standard procedure:
- cgal_create_cmake_script
- cmake .
- make

This worked like a charm and suggests, if I understand it correctly, that
CGAL's installation is OK.

Next, I wanted to compile and consider the example
/Surface_reconstruction_points_3/. Here things got messy. I'll try to
describe the steps I took (some of them with the great help of Menelaos
Karavelas and Michael Hemmer. Thank you Menelaos and MIchael) in order to
resolve the issue.

The version of Eigen shipped with the CGAL installation through macports is
old, and thus I downloaded manually the latest version of eigen (3.1.0-rc1).
In addition, I added the following line to the CMakeLists.txt:

include_directories (BEFORE "~/Library/eigen3.1.0-rc1/")
where ~/Library/eigen3.1.0-rc1/ is where the file
"signature_of_eigen3_matrix_library" is located.
This should make sure that eigen will be looked for in the right location.

Then I added

#define CGAL_EIGEN3_ENABLED

to the example "poisson_reconstruction_example.cpp". Finally, I ran:
- cmake .
- make poisson_reconstruction_example

Then I got the following compilation error:

---Compilation Error Cite---
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/Core/util/Meta.h: In copy
constructor
‘Eigen::IterativeSolverBase<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> >
>::IterativeSolverBase(const
Eigen::IterativeSolverBase<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> > >&)’:
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/IterativeLinearSolvers/
IterativeSolverBase.h:37: instantiated from ‘bool
CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function() [with
Gt = CGAL::Epick]’
/Users/drorata/Documents/academics/programing/CGAL/
Surface_reconstruction_points_3_CGAL_4/poisson_reconstruction_example.cpp:65:
instantiated from here
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/Core/util/Meta.h:113: error:
‘Eigen::internal::noncopyable::noncopyable(const
Eigen::internal::noncopyable&)’ is private
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/IterativeLinearSolvers/
IterativeSolverBase.h:37: error: within this context
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/IterativeLinearSolvers/
ConjugateGradient.h: In copy constructor
‘Eigen::ConjugateGradient<Eigen::SparseMatrix<double, 0, int>, 1,
Eigen::DiagonalPreconditioner<double> >::ConjugateGradient(const
Eigen::ConjugateGradient<Eigen::SparseMatrix<double, 0, int>, 1,
Eigen::DiagonalPreconditioner<double> >&)’:
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/IterativeLinearSolvers/
ConjugateGradient.h:160: instantiated from ‘bool
CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function() [with
Gt = CGAL::Epick]’
/Users/drorata/Documents/academics/programing/CGAL/
Surface_reconstruction_points_3_CGAL_4/poisson_reconstruction_example.cpp:65:
instantiated from here
/Users/drorata/Library/eigen3.1.0-rc1/Eigen/src/IterativeLinearSolvers/
ConjugateGradient.h:160: note: synthesized method
‘Eigen::IterativeSolverBase<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> >
>::IterativeSolverBase(const
Eigen::IterativeSolverBase<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> > >&)’ first required here
/opt/local/include/CGAL/Eigen_solver_traits.h: In copy constructor
‘CGAL::Eigen_solver_traits<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> >
>::Eigen_solver_traits(const
CGAL::Eigen_solver_traits<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> > >&)’:
/opt/local/include/CGAL/Eigen_solver_traits.h:58: instantiated from ‘bool
CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function() [with
Gt = CGAL::Epick]’
/Users/drorata/Documents/academics/programing/CGAL/
Surface_reconstruction_points_3_CGAL_4/poisson_reconstruction_example.cpp:65:
instantiated from here
/opt/local/include/CGAL/Eigen_solver_traits.h:58: note: synthesized method
‘Eigen::ConjugateGradient<Eigen::SparseMatrix<double, 0, int>, 1,
Eigen::DiagonalPreconditioner<double> >::ConjugateGradient(const
Eigen::ConjugateGradient<Eigen::SparseMatrix<double, 0, int>, 1,
Eigen::DiagonalPreconditioner<double> >&)’ first required here
/opt/local/include/CGAL/Poisson_reconstruction_function.h: In member function
‘bool CGAL::Poisson_reconstruction_function<Gt>::compute_implicit_function()
[with Gt = CGAL::Epick]’:
/opt/local/include/CGAL/Poisson_reconstruction_function.h:264: note:
synthesized method
‘CGAL::Eigen_solver_traits<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> >
>::Eigen_solver_traits(const
CGAL::Eigen_solver_traits<Eigen::ConjugateGradient<Eigen::SparseMatrix<double,
0, int>, 1, Eigen::DiagonalPreconditioner<double> > >&)’ first required here
make[3]: *** [CMakeFiles/poisson_reconstruction_example.dir/
poisson_reconstruction_example.cpp.o] Error 1
make[2]: *** [CMakeFiles/poisson_reconstruction_example.dir/all] Error 2
make[1]: *** [CMakeFiles/poisson_reconstruction_example.dir/rule] Error 2
make: *** [poisson_reconstruction_example] Error 2
---Compilation Error END---

I am unable to find what the problem is? Seems like it is either a problem in
EIGEN, or the way it is being using in CGAL/this specific example.

If further details regarding my setting etc. is needed please let me know.

Thanks in advance!
Dror Atariah

PS: I'm in Chapel Hill till tomorrow, so if you're around I'm available to
have a look at the problem together.



Archive powered by MHonArc 2.6.18.

Top of Page