CGAL branch build error

Bug #491982 reported by Garth Wells
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DOLFIN
Fix Released
Critical
Andre Massing

Bug Description

The CGAL branch fails to build when CGAL is not available (see below)

I do have 3.4 installed, which the build I guess rejects because it's < 3.5.

mpic++ -o dolfin/mesh/IntersectionOperator.os -c -Wall -pipe -ansi -BOOST_UBLAS_NDEBUG -DDEBUG -g -O2 -Werror -DHAS_MPI=1 -DMPICH_IGNORE_CXX_SEEK -DPACKAGE_VERSION=\"0.9.4\" -DHAS_TRILINOS=1 -DHAS_UMFPACK=1 -DHAS_CHOLMOD=1 -DHAS_PARMETIS=1 -DHAS_SLEPC=1 -DHAS_ZLIB=1 -DHAS_MTL4=1 -DHAS_PETSC=1 -DHAS_GTS=1 -DHAS_SCOTCH=1 -fno-strict-aliasing -fPIC -I. -I/usr/local/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include/libxml2 -I/home/garth/local/trilinos/include -I/usr/include/suitesparse -I/usr/include/suitesparse -I/usr/include -I/usr/lib/slepcdir/3.0.0 -I/usr/lib/slepcdir/3.0.0/linux-gnu-c-opt/include -I/usr/lib/slepcdir/3.0.0/include -I/usr/lib/petscdir/3.0.0/linux-gnu-c-opt/include -I/usr/lib/petscdir/3.0.0/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -I/usr/include -I/home/garth/local/src/mtl4 -I/usr/include -I/usr/lib/petscdir/3.0.0/linux-gnu-c-opt/include -I/usr/lib/petscdir/3.0.0/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -I/usr/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/scotch dolfin/mesh/IntersectionOperator.cpp
dolfin/mesh/IntersectionOperator.cpp:105: error: prototype for ‘dolfin::IntersectionOperator::IntersectionOperator(const dolfin::Mesh&)’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:29: error: candidates are: dolfin::IntersectionOperator::IntersectionOperator(const dolfin::IntersectionOperator&)
dolfin/mesh/IntersectionOperator.h:39: error: dolfin::IntersectionOperator::IntersectionOperator(boost::shared_ptr<const dolfin::Mesh>, const std::string&)
dolfin/mesh/IntersectionOperator.h:38: error: dolfin::IntersectionOperator::IntersectionOperator(const dolfin::Mesh&, const std::string&)
dolfin/mesh/IntersectionOperator.cpp:110: error: prototype for ‘dolfin::IntersectionOperator::IntersectionOperator(boost::shared_ptr<const dolfin::Mesh>, std::string&)’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:29: error: candidates are: dolfin::IntersectionOperator::IntersectionOperator(const dolfin::IntersectionOperator&)
dolfin/mesh/IntersectionOperator.h:39: error: dolfin::IntersectionOperator::IntersectionOperator(boost::shared_ptr<const dolfin::Mesh>, const std::string&)
dolfin/mesh/IntersectionOperator.h:38: error: dolfin::IntersectionOperator::IntersectionOperator(const dolfin::Mesh&, const std::string&)
dolfin/mesh/IntersectionOperator.cpp:117: error: prototype for ‘void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Point&, dolfin::uint_set&)’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:58: error: candidates are: void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Mesh&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.h:53: error: void dolfin::IntersectionOperator::all_intersected_entities(const std::vector<dolfin::Point, std::allocator<dolfin::Point> >&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.h:48: error: void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Point&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.cpp:119: error: prototype for ‘void dolfin::IntersectionOperator::all_intersected_entities(const std::vector<dolfin::Point, std::allocator<dolfin::Point> >&, dolfin::uint_set&)’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:58: error: candidates are: void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Mesh&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.h:53: error: void dolfin::IntersectionOperator::all_intersected_entities(const std::vector<dolfin::Point, std::allocator<dolfin::Point> >&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.h:48: error: void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Point&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.cpp:121: error: prototype for ‘void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Mesh&, dolfin::uint_set&)’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:58: error: candidates are: void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Mesh&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.h:53: error: void dolfin::IntersectionOperator::all_intersected_entities(const std::vector<dolfin::Point, std::allocator<dolfin::Point> >&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.h:48: error: void dolfin::IntersectionOperator::all_intersected_entities(const dolfin::Point&, dolfin::uint_set&) const
dolfin/mesh/IntersectionOperator.cpp:123: error: prototype for ‘int dolfin::IntersectionOperator::any_intersected_entity(const dolfin::Point&)’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:62: error: candidate is: int dolfin::IntersectionOperator::any_intersected_entity(const dolfin::Point&) const
dolfin/mesh/IntersectionOperator.cpp:133: error: prototype for ‘boost::shared_ptr<dolfin::Mesh> dolfin::IntersectionOperator::mesh_ptr()’ does not match any in class ‘dolfin::IntersectionOperator’
dolfin/mesh/IntersectionOperator.h:72: error: candidate is: boost::shared_ptr<const dolfin::Mesh> dolfin::IntersectionOperator::mesh_ptr()
dolfin/mesh/IntersectionOperator.cpp:140: error: no ‘void dolfin::IntersectionOperator::reset()’ member function declared in class ‘dolfin::IntersectionOperator’
In file included from /usr/include/boost/shared_ptr.hpp:30,
                 from ./dolfin/common/NoDeleter.h:12,
                 from dolfin/mesh/IntersectionOperator.cpp:13:
/usr/include/boost/checked_delete.hpp: In function ‘void boost::checked_delete(T*) [with T = dolfin::IntersectionOperatorImplementation]’:
/usr/include/boost/scoped_ptr.hpp:80: instantiated from ‘boost::scoped_ptr<T>::~scoped_ptr() [with T = dolfin::IntersectionOperatorImplementation]’
dolfin/mesh/IntersectionOperator.cpp:115: instantiated from here
/usr/include/boost/checked_delete.hpp:32: error: invalid application of ‘sizeof’ to incomplete type ‘dolfin::IntersectionOperatorImplementation’
/usr/include/boost/checked_delete.hpp:32: error: creating array with negative size (‘-0x00000000000000001’)
scons: *** [dolfin/mesh/IntersectionOperator.os] Error 1
scons: building terminated because of errors.
dolfin/mesh/IntersectionOperator.os failed: Error 1

Andre Massing (massing)
Changed in dolfin:
status: Confirmed → Fix Committed
Revision history for this message
Andre Massing (massing) wrote : Re: [Bug 491982] Re: CGAL branch build error

Tested no with and without CGAL enabled. Scons in cgal_branch already
includes a patch (thanks to Johannes Ring) to detect CGAL. This does not
yet work properly (see bug #492295) but the cgal should also be soon
integrated into the scons build system.

Andre Massing wrote:
> ** Changed in: dolfin
> Status: Confirmed => Fix Committed
>

Revision history for this message
Garth Wells (garth-wells) wrote :

I now get:

In file included from ./dolfin/mesh/added_intersection_3.h:23,
                 from ./dolfin/mesh/dolfin_mesh.h:42,
                 from ./dolfin/dolfin.h:12,
                 from dolfin/swig/cpp_wrap.cc:3347:
./dolfin/mesh/Tetrahedron_3_Bbox_3_intersection.h:12:68: error: CGAL/AABB_intersections/Bbox_3_triangle_3_do_intersect.h: No such file or directory

Does

  #include <dolfin/mesh/added_intersection_3.h>

need to be in dolfin_mesh.h?

As soon as this is sorted out, I'll merge it into DOLFIN.

Changed in dolfin:
status: Fix Committed → Confirmed
Revision history for this message
Andre Massing (massing) wrote :

Garth Wells wrote:
> I now get:
>
> In file included from ./dolfin/mesh/added_intersection_3.h:23,
> from ./dolfin/mesh/dolfin_mesh.h:42,
> from ./dolfin/dolfin.h:12,
> from dolfin/swig/cpp_wrap.cc:3347:
> ./dolfin/mesh/Tetrahedron_3_Bbox_3_intersection.h:12:68: error: CGAL/AABB_intersections/Bbox_3_triangle_3_do_intersect.h: No such file or directory
>
>
> Does
>
> #include <dolfin/mesh/added_intersection_3.h>
>
> need to be in dolfin_mesh.h?

No it is not needed there.

I did some thorough tests today, and compiled DOLFIN without CGAL
support (and this time my CGAL installation was moved :)) and run the
testsuite. Same procedure with CGAL support (deleted all cached files,
*.pc, etc each time in beforehand). I discovered and fixed some minor
runtime bugs, when CGAL was not supported. Run now smoothly at least on
my machine. Hope the same is true on your machine too :)

>
> As soon as this is sorted out, I'll merge it into DOLFIN.

Cool, glad to read :) I am looking forward to seeing the buildbots being
faced with running the new code.

>
> ** Changed in: dolfin
> Status: Fix Committed => Confirmed
>

Andre Massing (massing)
Changed in dolfin:
status: Confirmed → Fix Committed
Anders Logg (logg)
Changed in dolfin:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.