Skip to Content.
Sympa Menu

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

Subject: CGAL users discussion list

List archive

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


Chronological Thread 
  • From: Dror Atariah <>
  • To:
  • Subject: Re: [cgal-discuss] Surface_reconstruction_points_3, macports, eigen problem
  • Date: Wed, 20 Jun 2012 18:55:03 +0200

This indeed solved the problem, and compilation managed to be completed!

However, trying to run the resulting executable yielded: "Segmentation fault"

I guess this means that this is a new problem, so should I send a new email?

Thanks a lot for the quick answers!


On Jun 20, 2012, at 17:43 PM, Sebastien Loriot (GeometryFactory) wrote:

> There is indeed a compatibility problem of CGAL with the version
> 3.1.0-rc1 of Eigen. We'll fix that.
>
> In the meantime, can you use Eigen 3.1.0-alpha1 which I know is working.
>
> Sorry for the inconvenience.
>
> Sebastien.
>
>
> On 06/20/2012 05:27 PM, Dror Atariah wrote:
>> I cleared all the previously generated Cmake related files. Then I ran the
>> cgal_create_cmake_script and then what you suggested:
>>> "cmake -DEIGEN3_INCLUDE_DIR=/Users/drorata/Library/eigen3.1.0-rc1 ."
>>
>> This was the output:
>> ---(Output)---
>> -- The C compiler identification is GNU 4.2.1
>> -- The CXX compiler identification is GNU 4.2.1
>> -- Checking whether C compiler has -isysroot
>> -- Checking whether C compiler has -isysroot - yes
>> -- Checking whether C compiler supports OSX deployment target flag
>> -- Checking whether C compiler supports OSX deployment target flag - yes
>> -- Check for working C compiler: /usr/bin/gcc
>> -- Check for working C compiler: /usr/bin/gcc -- works
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Checking whether CXX compiler has -isysroot
>> -- Checking whether CXX compiler has -isysroot - yes
>> -- Checking whether CXX compiler supports OSX deployment target flag
>> -- Checking whether CXX compiler supports OSX deployment target flag - yes
>> -- Check for working CXX compiler: /usr/bin/c++
>> -- Check for working CXX compiler: /usr/bin/c++ -- works
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Build type: Release
>> -- USING CXXFLAGS = '-pipe -O2 -arch x86_64 -frounding-math
>> -fno-strict-aliasing -O3 -DNDEBUG'
>> -- USING EXEFLAGS = ' -L/opt/local/lib -arch x86_64
>> -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
>> '
>> -- Targetting Unix Makefiles
>> -- Using /usr/bin/c++ compiler.
>> -- DARWIN_VERSION=10
>> -- Mac Leopard detected
>> -- Configuring done
>> -- Generating done
>> CMake Warning:
>> Manually-specified variables were not used by the project:
>>
>> EIGEN3_INCLUDE_DIR
>>
>>
>> -- Build files have been written to:
>> /Users/drorata/Documents/academics/programing/CGAL/Surface_reconstruction_points_3_CGAL_4
>> ---(Output END)---
>>
>> Then trying to compile the example yielded:
>> ---(Output)---
>> In file included from
>> /opt/local/include/CGAL/Poisson_reconstruction_function.h:32,
>> from
>> /Users/drorata/Documents/academics/programing/CGAL/Surface_reconstruction_points_3_CGAL_4/poisson_reconstruction_example.cpp:10:
>> /opt/local/include/CGAL/Eigen_solver_traits.h:24:24: error: Eigen/Sparse:
>> No such file or directory
>> In file included from /opt/local/include/CGAL/Eigen_solver_traits.h:26,
>> from
>> /opt/local/include/CGAL/Poisson_reconstruction_function.h:32,
>> from
>> /Users/drorata/Documents/academics/programing/CGAL/Surface_reconstruction_points_3_CGAL_4/poisson_reconstruction_example.cpp:10:
>> /opt/local/include/CGAL/Eigen_vector.h:24:22: error: Eigen/Core: No such
>> file or directory
>> ...(CONTINUES)
>> ---(Output END)---
>>
>> This seems not to work.
>>
>> I don't think that the problem is finding EIGEN. Currently I have (as
>> Michael Hemmer suggested) the following line in my CMakeLists.txt:
>> include_directories (BEFORE "~/Library/eigen3.1.0-rc1/")
>>
>> It seems like neither your suggestion nor setting EIGEN3_INC_DIR to the
>> eigen's location helps.
>>
>> Anyway, with either Michael's trick or Menelaos' (which was adding a soft
>> link to the include directory of the example which pointed to the location
>> of eigen) it seems like eigen can be found, but the compilation error is
>> always there.
>>
>> Dror.
>> On Jun 20, 2012, at 16:55 PM, Sebastien Loriot (GeometryFactory) wrote:
>>
>>> Try:
>>>
>>> "cmake -DEIGEN3_INCLUDE_DIR=/Users/drorata/Library/eigen3.1.0-rc1 ."
>>>
>>> There should be no need to do something else for the demo.
>>>
>>> This was documented on that page:
>>>
>>> http://www.cgal.org/Manual/latest/doc_html/installation_manual/Chapter_installation_manual.html#Subsection_10.4
>>>
>>> Sebastien.
>>>
>>> On 06/20/2012 04:19 PM,
>>>
>>> wrote:
>>>> 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.
>>>>
>>>
>>>
>>> --
>>> You are currently subscribed to cgal-discuss.
>>> To unsubscribe or access the archives, go to
>>> https://lists-sop.inria.fr/wws/info/cgal-discuss
>>>
>>
>> Dror Atariah
>> Freie Universität Berlin
>> ----------------------------------------------
>> Landline: +49-30-83875159
>> Mobile: +49-176-20280996
>> http://page.mi.fu-berlin.de/atariah/
>>
>>
>
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://lists-sop.inria.fr/wws/info/cgal-discuss
>

Dror Atariah
Freie Universität Berlin
----------------------------------------------
Landline: +49-30-83875159
Mobile: +49-176-20280996
http://page.mi.fu-berlin.de/atariah/




Archive powered by MHonArc 2.6.18.

Top of Page