Hello,
I am using Ubuntu version 22.04 and a gcc compiler 11.4.
I tried to install MIA on my computer and I get a strange error when I do the make command :
(After reaching 27%)
[ 27%] Built target mesh-io-off-common
Consolidate compiler generated dependencies of target miamesh
[ 27%] Building CXX object mia/mesh/CMakeFiles/miamesh.dir/triangularMesh.cc.o
/root/MIA/mia-mia2/mia/mesh/triangularMesh.cc:596:28: warning: type attributes ignored after type is already defined [-Wattributes]
596 | template class EXPORT_MESH TPlugin<ctrianglemesh, io_plugin_type="">;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/MIA/mia-mia2/mia/mesh/triangularMesh.cc:597:28: warning: type attributes ignored after type is already defined [-Wattributes]
597 | template class EXPORT_MESH TIOPlugin<ctrianglemesh>;
| ^~~~~~~~~~~~~~~~~~~~~~~~
/root/MIA/mia-mia2/mia/mesh/triangularMesh.cc:598:28: warning: type attributes ignored after type is already defined [-Wattributes]
598 | template class EXPORT_MESH TPluginHandler<cmeshioplugin>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/set:60,
from /root/MIA/mia-mia2/mia/mesh/triangularMesh.cc:25:
/usr/include/c++/11/bits/stl_tree.h: In instantiation of ‘static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = mia::VertexWithIndex; _Val = mia::VertexWithIndex; _KeyOfValue = std::_Identity<mia::vertexwithindex>; _Compare = mia::compare_vertex; _Alloc = std::allocator<mia::vertexwithindex>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<mia::vertexwithindex>*]</mia::vertexwithindex></mia::vertexwithindex></mia::vertexwithindex>’:
/usr/include/c++/11/bits/stl_tree.h:2071:47: required from ‘std::pair<std::_rb_tree_node_base*, std::_rb_tree_node_base*=""> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_get_insert_unique_pos(const key_type&) [with _Key = mia::VertexWithIndex; _Val = mia::VertexWithIndex; _KeyOfValue = std::_Identity<mia::vertexwithindex>; _Compare = mia::compare_vertex; _Alloc = std::allocator<mia::vertexwithindex>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::key_type = mia::VertexWithIndex]</mia::vertexwithindex></mia::vertexwithindex>’
/usr/include/c++/11/bits/stl_tree.h:2124:4: required from ‘std::pair<std::_Rb_tree_iterator<_Val>, bool> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_insert_unique(_Arg&&) [with _Arg = mia::VertexWithIndex; _Key = mia::VertexWithIndex; _Val = mia::VertexWithIndex; _KeyOfValue = std::_Identity<mia::vertexwithindex>; _Compare = mia::compare_vertex; _Alloc = std::allocator<mia::vertexwithindex>]</mia::vertexwithindex></mia::vertexwithindex>’
/usr/include/c++/11/bits/stl_set.h:521:25: required from ‘std::pair<typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator, bool> std::set<_Key, _Compare, _Alloc>::insert(std::set<_Key, _Compare, _Alloc>::value_type&&) [with _Key = mia::VertexWithIndex; _Compare = mia::compare_vertex; _Alloc = std::allocator<mia::vertexwithindex>; typename std::_Rb_tree<_Key, _Key, std::_Identity<_Tp>, _Compare, typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other>::const_iterator = std::_Rb_tree<mia::vertexwithindex, mia::vertexwithindex,="" std::_identity\<mia::vertexwithindex="">, mia::compare_vertex, std::allocator\<mia::vertexwithindex> >::const_iterator; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key>::other = std::allocator<mia::vertexwithindex>; typename __gnu_cxx::__alloc_traits<_Alloc>::rebind<_Key> = __gnu_cxx::__alloc_traits<std::allocator\<mia::vertexwithindex>, mia::VertexWithIndex>::rebind<mia::vertexwithindex>; typename _Alloc::value_type = mia::VertexWithIndex; std::set<_Key, _Compare, _Alloc>::value_type = mia::VertexWithIndex]</mia::vertexwithindex></std::allocator\<mia::vertexwithindex></mia::vertexwithindex></mia::vertexwithindex></mia::vertexwithindex,></mia::vertexwithindex>’
/root/MIA/mia-mia2/mia/mesh/triangularMesh.cc:531:28: required from here
/usr/include/c++/11/bits/stl_tree.h:770:15: error: static assertion failed: comparison object must be invocable as const
770 | is_invocable_v<const _compare&,="" const="" _key&,="" _key&="">,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_tree.h:770:15: note: ‘std::is_invocable_v<const mia::compare_vertex&,="" const="" mia::vertexwithindex&,="" mia::vertexwithindex&="">’ evaluates to false
make[2]: *** [mia/mesh/CMakeFiles/miamesh.dir/build.make:90: mia/mesh/CMakeFiles/miamesh.dir/triangularMesh.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:21236: mia/mesh/CMakeFiles/miamesh.dir/all] Error 2
make: *** [Makefile:146: all] Error 2</const></const></std::_rb_tree_node_base*,></cmeshioplugin></ctrianglemesh></ctrianglemesh,>
I don't know if I need to check the source code or whether it is related to the complier or Ubuntu.
Thank for in advance for your help !