Skip to content

foamyHexMesh build failure with CGAL 5.5

Summary

foamyHexMesh will fail to compile with CGAL >= 5.5

Steps to reproduce

Attempt to compile OpenFOAM with CGAL version >= 5.5

Example case

N/A

What is the current bug behaviour?

Compile error due to missing CGAL header file "CGAL/Robust_circumcenter_filtered_traits_3.h" when processing CGALTriangulation3DKernel.H

What is the expected correct behavior?

Compilation succeeds

Relevant logs and/or images

In file included from foamyHexMesh.C:42:
In file included from ../conformalVoronoiMesh/lnInclude/conformalVoronoiMesh.H:46:
In file included from ../conformalVoronoiMesh/lnInclude/CGALTriangulation3Ddefs.H:43:
../conformalVoronoiMesh/lnInclude/CGALTriangulation3DKernel.H:56:14: fatal error: 'CGAL/Robust_circumcenter_filtered_traits_3.h' file not found
    #include "CGAL/Robust_circumcenter_filtered_traits_3.h"
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 warnings and 1 error generated.
make[3]: *** [/Volumes/OpenFOAM-v2206/build/darwin64ClangDPInt32Opt/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.o] Error 1
Finish foamyMesh

Environment information

  • OpenFOAM version : v2206|develop
  • Operating system : macOS (note: using the suggested fix in #2664 (closed) to avoid that issue)
  • Hardware info : arm64
  • Compiler : clang

Possible fixes

The missing "CGAL/Robust_circumcenter_filtered_traits_3.h" header was removed from CGAL in this commit.

Looking at the rest of the changes in that CGAL commit, it seems that the fix is to have CGALTriangulation3DKernel.H include "CGAL/Robust_weighted_circumcenter_filtered_traits_3.h" instead. I have tried this change and found that it fixes the error.