Did you build Dolfin with CGAL support? mshr builds its own CGAL and
think this is bug in the build script that causes the linker to pick
up the "wrong" CGAL. I will take a look.

Yes, dolfin is with CGAL support, and something strange is definitely
happening with CGAL. However, I'm not convinced that the problem lies there.

right now I'm investigating the failure I see with simple-csg-3D.py:

-----------
Traceback (most recent call last):
  File "simple-csg-3D.py", line 42, in <module>
    generator.generate(m)
StandardError: CGAL ERROR: assertion violation!
Expr: check_protocoll == 2
File:
/home/marco/Programmi/Dolphin/src_from_dorsal/mshr/dorsal_build_dir/CGAL-4.4-installdir/include/CGAL/Polyhedron_incremental_builder_3.h
Line: 287
-----------

1) ldd libmshr.so shows that libGCAL.so is linked.

2) however, looking at the link command, libCGAL.a in brought in
_before_ libCGAL.so .
Shouldn't  this be enough ?

3) dolfin is built with CGAL 4.4

What puzzles me most, however, is that
if I put a print statement at the beginning of

Polyhedron_incremental_builder_3<HDS>::begin_surface

it gets printed.

However, a similar print statement at the beginning of begin_facet()
shows nothing.



What happens is that in CSGCAGCALMeshGenerator3D.cpp
Copy_polyhedron_to::operator()
check_protocoll is equal to 1 when builder.end_surface() is called.

However, it should be set to 2 in begin_facet.

Between begin_facet() and end_facet()  Copy_polyhedron_to::operator()
calls only builder.add_vertex_to_facet.

I cannot find where check_protocoll is changed again.


As a workaround, build Dolfin without CGAL support. (CGAL is used
only for mesh generation in Dolfin, and will be removed soon, so you
don't loose anything with this). Please report back if this does not
solve the problem.

I'll try tomorrow to rebuild dolfin without CGAL,
and let you know the result

Regards,

Marco
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to