Yes, that error from screenshot is when I compiled the stable version on fresh installation of Arch Linux. And after that I tried to compile the beta version on the same system and that make the subsequent error, it’s not only this but before it failed every stage have similar warning before it eventually failed. The full output of the failed stage it 0% PyFeature.cc.o is like this.
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/utils/IdStringSet.h:41,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/StringSetSingletons.h:32,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/IdTypeGenerator.h:35,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureId.h:31,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureHandle.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/api/PyFeature.h:29,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/api/PyFeature.cc:25:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/utils/SmartNodeLinkedList.h:206:45: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
206 | public std::iterator<std::bidirectional_iterator_tag, ElementNodeQualifiedType>,
| ^~~~~~~~
In file included from /usr/include/c++/12.2.0/bits/stl_algobase.h:65,
from /usr/include/c++/12.2.0/bits/specfun.h:45,
from /usr/include/c++/12.2.0/cmath:1935,
from /usr/include/c++/12.2.0/math.h:36,
from /usr/include/python3.10/pyport.h:210,
from /usr/include/python3.10/Python.h:50,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/global/python.h:104,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/api/PyFeature.h:28:
/usr/include/c++/12.2.0/bits/stl_iterator_base_types.h:127:34: note: declared here
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureHandle.h:329:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/RevisionAwareIterator.h:93:37: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
93 | public std::iterator<
| ^~~~~~~~
/usr/include/c++/12.2.0/bits/stl_iterator_base_types.h:127:34: note: declared here
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/FiniteRotation.h:34,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructionGraph.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructionTree.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructedFeatureGeometry.h:35,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/LayerProxyUtils.h:41,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/CoRegistrationLayerProxy.h:34,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/data-mining/DataMiningUtils.h:38,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/api/PyFeature.h:31:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/PointOnSphere.h:534:37: warning: ‘template<class _Arg1, class _Arg2, class _Result> struct std::binary_function’ is deprecated [-Wdeprecated-declarations]
534 | public std::binary_function<PointOnSphere, PointOnSphere, bool>
| ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/functional:49,
from /usr/include/boost/config/no_tr1/functional.hpp:21,
from /usr/include/boost/function/detail/prologue.hpp:14,
from /usr/include/boost/function/function_template.hpp:13,
from /usr/include/boost/function/detail/maybe_include.hpp:15,
from /usr/include/boost/function/function0.hpp:11,
from /usr/include/boost/python/errors.hpp:13,
from /usr/include/boost/python/handle.hpp:11,
from /usr/include/boost/python/args_fwd.hpp:10,
from /usr/include/boost/python/args.hpp:10,
from /usr/include/boost/python.hpp:11,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/global/python.h:125:
/usr/include/c++/12.2.0/bits/stl_function.h:131:12: note: declared here
131 | struct binary_function
| ^~~~~~~~~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/PolygonOnSphere.h:42,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/GeometryIntersect.h:33,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedSubSegmentRangeInSection.h:38,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedTopologicalGeometrySubSegment.h:33,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedTopologicalLine.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/LayerProxyUtils.h:43:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/GreatCircleArc.h:422:37: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations]
422 | public std::unary_function<GreatCircleArc, bool>
| ^~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_function.h:117:12: note: declared here
117 | struct unary_function
| ^~~~~~~~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedTopologicalNetwork.h:38,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/TopologyReconstruct.h:39,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructMethodInterface.h:40,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructContext.h:42,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructLayerProxy.h:38,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/RasterLayerProxy.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/CoRegistrationLayerProxy.h:35:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedTriangulationNetwork.h:848:53: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations]
848 | public std::unary_function<
| ^~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_function.h:117:12: note: declared here
117 | struct unary_function
| ^~~~~~~~~~~~~~
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedTriangulationNetwork.h:893:53: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations]
893 | public std::unary_function<
| ^~~~~~~~~~~~~~
/usr/include/c++/12.2.0/bits/stl_function.h:117:12: note: declared here
117 | struct unary_function
| ^~~~~~~~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/utils/ObjectPool.h:38,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/CubeQuadTree.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/opengl/GLCubeSubdivisionCache.h:36,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/opengl/GLReconstructedStaticPolygonMeshes.h:38,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructLayerProxy.h:47:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/utils/IntrusiveSinglyLinkedList.h:125:45: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
125 | public std::iterator<std::forward_iterator_tag, ElementNodeQualifiedType>,
| ^~~~~~~~
/usr/include/c++/12.2.0/bits/stl_iterator_base_types.h:127:34: note: declared here
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/opengl/GLReconstructedStaticPolygonMeshes.h:46:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/maths/CubeQuadTreePartition.h:261:45: warning: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Wdeprecated-declarations]
261 | public std::iterator<std::forward_iterator_tag, ElementQualifiedType>,
| ^~~~~~~~
/usr/include/c++/12.2.0/bits/stl_iterator_base_types.h:127:34: note: declared here
127 | struct _GLIBCXX17_DEPRECATED iterator
| ^~~~~~~~
In file included from /usr/include/boost/function/detail/maybe_include.hpp:22,
from /usr/include/boost/function/detail/function_iterate.hpp:14,
from /usr/include/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp:19,
from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:1343,
from /usr/include/boost/function.hpp:70,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureHandle.h:32:
In member function ‘void boost::function1<R, T1>::assign_to_own(const boost::function1<R, T1>&) [with R = GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>; T0 = const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&]’,
inlined from ‘boost::function1<R, T1>::function1(const boost::function1<R, T1>&) [with R = GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>; T0 = const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&]’ at /usr/include/boost/function/function_template.hpp:746:26,
inlined from ‘boost::function<R(T0)>::function(const self_type&) [with R = GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>; T0 = const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&]’ at /usr/include/boost/function/function_template.hpp:1121:76,
inlined from ‘boost::iterators::transform_iterator<UnaryFunc, Iterator> boost::iterators::make_transform_iterator(Iterator, UnaryFunc) [with UnaryFunc = boost::function<GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>(const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&)>; Iterator = __gnu_cxx::__normal_iterator<const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>*, std::vector<GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler> > >]’ at /usr/include/boost/iterator/transform_iterator.hpp:141:61,
inlined from ‘GPlatesModel::TopLevelPropertyInline::const_iterator GPlatesModel::TopLevelPropertyInline::begin() const’ at /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/TopLevelPropertyInline.h:152:101,
inlined from ‘void GPlatesModel::FeatureVisitorBase<H>::visit_property_values(top_level_property_inline_type&) [with FeatureHandleType = const GPlatesModel::FeatureHandle]’ at /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureVisitor.h:849:43:
/usr/include/boost/function/function_template.hpp:914:22: error: ‘*(unsigned char (*)[24])((char*)&<unnamed> + offsetof(boost::make_const_ptr_fn_type, boost::function<GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>(const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&)>::<unnamed>.boost::function1<GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>, const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&>::<unnamed>.boost::function_base::functor))’ is used uninitialized [-Werror=uninitialized]
914 | std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureVisitor.h:40,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ReconstructionFeatureProperties.h:32,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedVertexSourceInfo.h:37,
from /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/app-logic/ResolvedTopologicalGeometrySubSegment.h:34:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/TopLevelPropertyInline.h: In member function ‘void GPlatesModel::FeatureVisitorBase<H>::visit_property_values(top_level_property_inline_type&) [with FeatureHandleType = const GPlatesModel::FeatureHandle]’:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/TopLevelPropertyInline.h:152:135: note: ‘<anonymous>’ declared here
152 | make_const_ptr_fn_type(boost::lambda::constructor<PropertyValue::non_null_ptr_to_const_type>()));
| ^
In member function ‘void boost::function1<R, T1>::assign_to_own(const boost::function1<R, T1>&) [with R = GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>; T0 = const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&]’,
inlined from ‘boost::function1<R, T1>::function1(const boost::function1<R, T1>&) [with R = GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>; T0 = const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&]’ at /usr/include/boost/function/function_template.hpp:746:26,
inlined from ‘boost::function<R(T0)>::function(const self_type&) [with R = GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>; T0 = const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&]’ at /usr/include/boost/function/function_template.hpp:1121:76,
inlined from ‘boost::iterators::transform_iterator<UnaryFunc, Iterator> boost::iterators::make_transform_iterator(Iterator, UnaryFunc) [with UnaryFunc = boost::function<GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>(const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&)>; Iterator = __gnu_cxx::__normal_iterator<const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>*, std::vector<GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler> > >]’ at /usr/include/boost/iterator/transform_iterator.hpp:141:61,
inlined from ‘GPlatesModel::TopLevelPropertyInline::const_iterator GPlatesModel::TopLevelPropertyInline::end() const’ at /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/TopLevelPropertyInline.h:160:101,
inlined from ‘void GPlatesModel::FeatureVisitorBase<H>::visit_property_values(top_level_property_inline_type&) [with FeatureHandleType = const GPlatesModel::FeatureHandle]’ at /home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/FeatureVisitor.h:850:43:
/usr/include/boost/function/function_template.hpp:914:22: error: ‘*(unsigned char (*)[24])((char*)&<unnamed> + offsetof(boost::make_const_ptr_fn_type, boost::function<GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>(const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&)>::<unnamed>.boost::function1<GPlatesUtils::non_null_intrusive_ptr<const GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>, const GPlatesUtils::non_null_intrusive_ptr<GPlatesModel::PropertyValue, GPlatesUtils::NullIntrusivePointerHandler>&>::<unnamed>.boost::function_base::functor))’ is used uninitialized [-Werror=uninitialized]
914 | std::memcpy(this->functor.data, f.functor.data, sizeof(boost::detail::function::function_buffer));
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/TopLevelPropertyInline.h: In member function ‘void GPlatesModel::FeatureVisitorBase<H>::visit_property_values(top_level_property_inline_type&) [with FeatureHandleType = const GPlatesModel::FeatureHandle]’:
/home/kuay/Downloads/gplates_2.3.1-beta.3_src/src/model/TopLevelPropertyInline.h:160:135: note: ‘<anonymous>’ declared here
160 | make_const_ptr_fn_type(boost::lambda::constructor<PropertyValue::non_null_ptr_to_const_type>()));
| ^
cc1plus: some warnings being treated as errors
make[2]: *** [src/CMakeFiles/gplates-lib.dir/build.make:428: src/CMakeFiles/gplates-lib.dir/api/PyFeature.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:484: src/CMakeFiles/gplates-lib.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
I don’t believe it’s Boost problem. I tried to compile the beta version on FreeBSD 13.1 which has the latest boost version of 1.80 as well but it can compile successfully without any issue. And this error only appeared on Arch-based distribution so far (vanilla Arch, Endeavor, and Manjaro). I don’t know whether there’s significant diiference in Arch-based distribution but I suspected there’s. Maybe there’s something I didn’t installed before hand and it’s needed by the beta version and it didn’t come with Arch Linux and normal installation of the program’s dependencies on Arch Linux.
To be honest, I’d like the developer to consider making a package on Flatpak and then we need not to be headache when installed this on other distribution than Ubuntu anymore, it should be more easier to maintain the program that way.