← Back to team overview

yade-dev team mailing list archive

Re: : Compilation on K/Ubuntu 18.04

 

Hi Klaus, this looks very much like the errors which I have been fixing two months ago. It seems that Robert and Luc were not aware that to compile with CGAL 4.11 we have to use Tri.locate(CGT::Sphere(…)) and when writing ->point() we should instead write ->point().point() (regardless of how silly it looks, this is the correct way in CGAL).

I have just committed the compilation fix for this. Have a look at this diff, and you will see what I mean. Please try again to compile with CGAL 4.11 and let us know if it works for you.

best regards
Janek


On 14 May 2018, 09:20 +0200, Klaus Thoeni <klaus.thoeni@xxxxxxxxx>, wrote:
> Hi guys,
>
> I remember a discussion with a CGAL problem to get yade ready for 18.04 LTS. From the discussion it looks that everything is solved. However, I just did a fresh install of Kubuntu 18.04 and tried to compile the code (latest trunk version).
>
> cmake went fine but compilation didn't work as expected. I got an error related to some CGAL commands used in DFNFlow.cpp:
>
> /home/yade/YADE-git/trunk/pkg/pfv/DFNFlow.cpp: In member function ‘void DFNFlowEngine::interpolateCrack(TemplateFlowEngine_DFNFlowEngineT<DFNCellInfo, DFNVertexInfo, CGT::_Tesselation<CGT::TriangulationTypes<DFNVertexInfo, DFNCellInfo> >, DFNBoundingSphere>::Tesselation&, TemplateFlowEngine_DFNFlowEngineT<DFNCellInfo, DFNVertexInfo, CGT::_Tesselation<CGT::TriangulationTypes<DFNVertexInfo, DFNCellInfo> >, DFNBoundingSphere>::Tesselation&)’:
> /home/yade/YADE-git/trunk/pkg/pfv/DFNFlow.cpp:216:136: error: no match for ‘operator-’ (operand types are ‘CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick, CGAL::Triangulation_ds_vertex_base_3<CGAL::Triangulation_data_structure_3<CGAL::Alpha_shape_vertex_base_3<CGAL::Epick, CGAL::Triangulation_vertex_base_with_info_3<DFNVertexInfo, CGAL::Epick, CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Alpha_shape_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_with_info_3<DFNCellInfo, CGAL::Epick, CGAL::Regular_triangulation_cell_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Sequential_tag> > >::Point {aka CGAL::Weighted_point_3<CGAL::Epick>}’ and ‘const CGAL::Origin’)
>    if (newCell->info().fictious()==0) for (int k=0;k<4;k++) center = center + 0.25*(Tes.vertex(newCell->vertex(k)->info().id())->point()-CGAL::ORIGIN);
>                                                                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
>
>
> /home/yade/YADE-git/trunk/pkg/pfv/DFNFlow.cpp:218:71: error: no matching function for call to ‘CGAL::Regular_triangulation_3<CGAL::Epick, CGAL::Triangulation_data_structure_3<CGAL::Alpha_shape_vertex_base_3<CGAL::Epick, CGAL::Triangulation_vertex_base_with_info_3<DFNVertexInfo, CGAL::Epick, CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Alpha_shape_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_with_info_3<DFNCellInfo, CGAL::Epick, CGAL::Regular_triangulation_cell_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Sequential_tag>, CGAL::Default>::locate(Point)’
>    CellHandle oldCell = Tri.locate(Point(center[0],center[1],center[2]));
>                                                                        ^
> In file included from /usr/include/CGAL/Regular_triangulation_3.h:45:0,
>                  from /home/yade/YADE-git/trunk/lib/triangulation/RegularTriangulation.h:13,
>                  from /home/yade/YADE-git/trunk/lib/triangulation/Tesselation.h:9,
>                  from /home/yade/YADE-git/trunk/pkg/dem/TesselationWrapper.hpp:15,
>                  from /home/yade/YADE-git/build/pkg/pfv/FlowEngine_DFNFlowEngineT.hpp:38,
>                  from /home/yade/YADE-git/trunk/pkg/pfv/DFNFlow.cpp:20:
> /usr/include/CGAL/Triangulation_3.h:1012:3: note: candidate: CGAL::Triangulation_3<GT, Tds, Lock_data_structure>::Cell_handle CGAL::Triangulation_3<GT, Tds, Lock_data_structure>::locate(const Point&, CGAL::Triangulation_3<GT, Tds, Lock_data_structure>::Vertex_handle, bool*) const [with GT = CGAL::Epick; Tds_ = CGAL::Triangulation_data_structure_3<CGAL::Alpha_shape_vertex_base_3<CGAL::Epick, CGAL::Triangulation_vertex_base_with_info_3<DFNVertexInfo, CGAL::Epick, CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Alpha_shape_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_with_info_3<DFNCellInfo, CGAL::Epick, CGAL::Regular_triangulation_cell_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Sequential_tag>; Lock_data_structure_ = CGAL::Default; CGAL::Triangulation_3<GT, Tds, Lock_data_structure>::Cell_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Alpha_shape_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_with_info_3<DFNCellInfo, CGAL::Epick, CGAL::Regular_triangulation_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_3<CGAL::Epick, CGAL::Triangulation_ds_cell_base_3<CGAL::Triangulation_data_structure_3<CGAL::Alpha_shape_vertex_base_3<CGAL::Epick, CGAL::Triangulation_vertex_base_with_info_3<DFNVertexInfo, CGAL::Epick, CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Alpha_shape_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_with_info_3<DFNCellInfo, CGAL::Epick, CGAL::Regular_triangulation_cell_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Sequential_tag> > >, CGAL::Hidden_points_memory_policy<CGAL::Boolean_tag<true> >, std::__cxx11::list<CGAL::Weighted_point_3<CGAL::Epick>, std::allocator<CGAL::Weighted_point_3<CGAL::Epick> > > > >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Default, CGAL::Default, CGAL::Default>, false>; CGAL::Triangulation_3<GT, Tds, Lock_data_structure>::Point = CGAL::Weighted_point_3<CGAL::Epick>; CGAL::Triangulation_3<GT, Tds, Lock_data_structure>::Vertex_handle = CGAL::internal::CC_iterator<CGAL::Compact_container<CGAL::Alpha_shape_vertex_base_3<CGAL::Epick, CGAL::Triangulation_vertex_base_with_info_3<DFNVertexInfo, CGAL::Epick, CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick, CGAL::Triangulation_ds_vertex_base_3<CGAL::Triangulation_data_structure_3<CGAL::Alpha_shape_vertex_base_3<CGAL::Epick, CGAL::Triangulation_vertex_base_with_info_3<DFNVertexInfo, CGAL::Epick, CGAL::Regular_triangulation_vertex_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Alpha_shape_cell_base_3<CGAL::Epick, CGAL::Triangulation_cell_base_with_info_3<DFNCellInfo, CGAL::Epick, CGAL::Regular_triangulation_cell_base_3<CGAL::Epick> >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Sequential_tag> > > >, CGAL::Boolean_tag<false>, CGAL::Boolean_tag<false> >, CGAL::Default, CGAL::Default, CGAL::Default>, false>]
>    locate(const Point & p, Vertex_handle hint,
>    ^~~~~~
>
>
> The installed version of CGAL is 4.11, see below:
>
> yade@ubuntu-yade:~$ dpkg -l | grep cgal
> ii  libcgal-dev:amd64                          4.11-2build1                        amd64        C++ library for computational geometry (development files)
> ii  libcgal13:amd64                            4.11-2build1                        amd64        C++ library for computational geometry
>
> So my question here is if someone else run into this problem or not. And did someone fix it?
>
> Note that when deactivating PFVFLOW and TWOPHASEFLOW compilation is just fine.
>
> Once this is solved I would be happy to update the install instructions for 18.04 as this is probably what most users will be using now. But I am not familiar with DFNFlow nor CGAL.
>
> Cheers,
> Klaus
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-dev
> Post to : yade-dev@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-dev
> More help : https://help.launchpad.net/ListHelp
>

References