-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
master fails to build on openSUSE Tumbleweed (gcc 15.2.1)
[ 87s] cd /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/build/crogine && /usr/bin/c++ -DAL_AUDIO -DCRO_BUILD -Dcrogine_EXPORTS -I/usr/include/SDL2 -I/usr/include/freetype2 -I/usr/include/opus -I/home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/include -I/usr/include/AL -Wall -Wno-comment -std=c++17 -O3 -DNDEBUG -std=gnu++17 -fPIC -MD -MT crogine/CMakeFiles/crogine.dir/src/ecs/systems/ModelRenderer.cpp.o -MF CMakeFiles/crogine.dir/src/ecs/systems/ModelRenderer.cpp.o.d -o CMakeFiles/crogine.dir/src/ecs/systems/ModelRenderer.cpp.o -c /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp
[ 88s] In file included from /usr/include/c++/15/bits/stl_algobase.h:71,
[ 88s] from /usr/include/c++/15/string:53,
[ 88s] from /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/../../graphics/shaders/Unlit.hpp:32,
[ 88s] from /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:30:
[ 88s] /usr/include/c++/15/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = const std::pair<cro::Entity, cro::SortData>; _Iterator = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>]’:
[ 88s] /usr/include/c++/15/bits/stl_algo.h:1994:14: required from ‘_ForwardIterator std::__upper_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<pair<cro::Entity, cro::SortData>*, vector<pair<cro::Entity, cro::SortData> > >; _Tp = pair<cro::Entity, cro::SortData>; _Compare = __gnu_cxx::__ops::_Val_comp_iter<cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)> >]’
[ 88s] 1994 | if (__comp(__val, __middle))
[ 88s] | ~~~~~~^~~~~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/bits/stl_algo.h:2061:32: required from ‘_FIter std::upper_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = __gnu_cxx::__normal_iterator<pair<cro::Entity, cro::SortData>*, vector<pair<cro::Entity, cro::SortData> > >; _Tp = pair<cro::Entity, cro::SortData>; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>]’
[ 88s] 2061 | return std::__upper_bound(__first, __last, __val,
[ 88s] | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
[ 88s] 2062 | __gnu_cxx::__ops::__val_comp_iter(__comp));
[ 88s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:1030:40: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__merge_func<_RandomAccessIterator1, _RandomAccessIterator2, _Compare, _Cleanup, _LeafMerge>::split_merging(__pstl::__tbb_backend::__task*) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _RandomAccessIterator2 = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>; _Cleanup = __pstl::__utils::__serial_destroy; _LeafMerge = __pstl::__utils::__serial_move_merge]’
[ 88s] 1030 | __xm = std::upper_bound(_M_x_beg + _M_xs, _M_x_beg + _M_xe, *(_M_x_beg + __ym), _M_comp) - _M_x_beg;
[ 88s] | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:939:20: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__merge_func<_RandomAccessIterator1, _RandomAccessIterator2, _Compare, _Cleanup, _LeafMerge>::merge_ranges(__pstl::__tbb_backend::__task*) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _RandomAccessIterator2 = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>; _Cleanup = __pstl::__utils::__serial_destroy; _LeafMerge = __pstl::__utils::__serial_move_merge]’
[ 88s] 939 | return split_merging(__self);
[ 88s] | ^~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:1069:16: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__merge_func<_RandomAccessIterator1, _RandomAccessIterator2, _Compare, _Cleanup, _LeafMerge>::operator()(__pstl::__tbb_backend::__task*) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _RandomAccessIterator2 = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>; _Cleanup = __pstl::__utils::__serial_destroy; _LeafMerge = __pstl::__utils::__serial_move_merge]’
[ 88s] 1069 | return merge_ranges(__self);
[ 88s] | ^~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:630:33: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__func_task<_Func>::execute(tbb::detail::d1::execution_data&) [with _Func = __pstl::__tbb_backend::__merge_func<__gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >, std::pair<cro::Entity, cro::SortData>*, cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>, __pstl::__utils::__serial_destroy, __pstl::__utils::__serial_move_merge>]’
[ 88s] 630 | __task* __next = _M_func(this);
[ 88s] | ~~~~~~~^~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:626:5: required from here
[ 88s] 626 | execute(tbb::detail::d1::execution_data& __ed) override
[ 88s] | ^~~~~~~
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: error: no match for call to ‘(cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>) (const std::pair<cro::Entity, cro::SortData>&, std::pair<cro::Entity, cro::SortData>&)’
[ 88s] 240 | { return bool(_M_comp(__val, *__it)); }
[ 88s] | ~~~~~~~^~~~~~~~~~~~~~
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:14: note: there are 2 candidates
[ 88s] 236 | [](MaterialPair& a, MaterialPair& b)
[ 88s] | ^
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: note: candidate 1: ‘bool (*)(cro::MaterialPair&, cro::MaterialPair&)’ {aka ‘bool (*)(std::pair<cro::Entity, cro::SortData>&, std::pair<cro::Entity, cro::SortData>&)’} (conversion)
[ 88s] 240 | { return bool(_M_comp(__val, *__it)); }
[ 88s] | ~~~~~~~^~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: note: conversion of argument 2 would be ill-formed:
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: error: binding reference of type ‘cro::MaterialPair&’ {aka ‘std::pair<cro::Entity, cro::SortData>&’} to ‘const std::pair<cro::Entity, cro::SortData>’ discards qualifiers
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:13: note: candidate 2: ‘cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>’ (near match)
[ 88s] 236 | [](MaterialPair& a, MaterialPair& b)
[ 88s] | ^
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:13: note: conversion of argument 1 would be ill-formed:
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:13: error: binding reference of type ‘cro::MaterialPair&’ {aka ‘std::pair<cro::Entity, cro::SortData>&’} to ‘const std::pair<cro::Entity, cro::SortData>’ discards qualifiers
[ 88s] /usr/include/c++/15/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Val_comp_iter<_Compare>::operator()(_Value&, _Iterator) [with _Value = const std::pair<cro::Entity, cro::SortData>; _Iterator = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>]’:
[ 88s] /usr/include/c++/15/bits/stl_algo.h:1994:14: required from ‘_ForwardIterator std::__upper_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = pair<cro::Entity, cro::SortData>*; _Tp = pair<cro::Entity, cro::SortData>; _Compare = __gnu_cxx::__ops::_Val_comp_iter<cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)> >]’
[ 88s] 1994 | if (__comp(__val, __middle))
[ 88s] | ~~~~~~^~~~~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/bits/stl_algo.h:2061:32: required from ‘_FIter std::upper_bound(_FIter, _FIter, const _Tp&, _Compare) [with _FIter = pair<cro::Entity, cro::SortData>*; _Tp = pair<cro::Entity, cro::SortData>; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>]’
[ 88s] 2061 | return std::__upper_bound(__first, __last, __val,
[ 88s] | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
[ 88s] 2062 | __gnu_cxx::__ops::__val_comp_iter(__comp));
[ 88s] | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:1032:40: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__merge_func<_RandomAccessIterator1, _RandomAccessIterator2, _Compare, _Cleanup, _LeafMerge>::split_merging(__pstl::__tbb_backend::__task*) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _RandomAccessIterator2 = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>; _Cleanup = __pstl::__utils::__serial_destroy; _LeafMerge = __pstl::__utils::__serial_move_merge]’
[ 88s] 1032 | __xm = std::upper_bound(_M_z_beg + _M_xs, _M_z_beg + _M_xe, *(_M_z_beg + __ym), _M_comp) - _M_z_beg;
[ 88s] | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:939:20: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__merge_func<_RandomAccessIterator1, _RandomAccessIterator2, _Compare, _Cleanup, _LeafMerge>::merge_ranges(__pstl::__tbb_backend::__task*) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _RandomAccessIterator2 = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>; _Cleanup = __pstl::__utils::__serial_destroy; _LeafMerge = __pstl::__utils::__serial_move_merge]’
[ 88s] 939 | return split_merging(__self);
[ 88s] | ^~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:1069:16: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__merge_func<_RandomAccessIterator1, _RandomAccessIterator2, _Compare, _Cleanup, _LeafMerge>::operator()(__pstl::__tbb_backend::__task*) [with _RandomAccessIterator1 = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _RandomAccessIterator2 = std::pair<cro::Entity, cro::SortData>*; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>; _Cleanup = __pstl::__utils::__serial_destroy; _LeafMerge = __pstl::__utils::__serial_move_merge]’
[ 88s] 1069 | return merge_ranges(__self);
[ 88s] | ^~~~~~~~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:630:33: required from ‘__pstl::__tbb_backend::__task* __pstl::__tbb_backend::__func_task<_Func>::execute(tbb::detail::d1::execution_data&) [with _Func = __pstl::__tbb_backend::__merge_func<__gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >, std::pair<cro::Entity, cro::SortData>*, cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>, __pstl::__utils::__serial_destroy, __pstl::__utils::__serial_move_merge>]’
[ 88s] 630 | __task* __next = _M_func(this);
[ 88s] | ~~~~~~~^~~~~~
[ 88s] /usr/include/c++/15/pstl/parallel_backend_tbb.h:626:5: required from here
[ 88s] 626 | execute(tbb::detail::d1::execution_data& __ed) override
[ 88s] | ^~~~~~~
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: error: no match for call to ‘(cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>) (const std::pair<cro::Entity, cro::SortData>&, std::pair<cro::Entity, cro::SortData>&)’
[ 88s] 240 | { return bool(_M_comp(__val, *__it)); }
[ 88s] | ~~~~~~~^~~~~~~~~~~~~~
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:14: note: there are 2 candidates
[ 88s] 236 | [](MaterialPair& a, MaterialPair& b)
[ 88s] | ^
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: note: candidate 1: ‘bool (*)(cro::MaterialPair&, cro::MaterialPair&)’ {aka ‘bool (*)(std::pair<cro::Entity, cro::SortData>&, std::pair<cro::Entity, cro::SortData>&)’} (conversion)
[ 88s] 240 | { return bool(_M_comp(__val, *__it)); }
[ 88s] | ~~~~~~~^~~~~~~~~~~~~~
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: note: conversion of argument 2 would be ill-formed:
[ 88s] /usr/include/c++/15/bits/predefined_ops.h:240:30: error: binding reference of type ‘cro::MaterialPair&’ {aka ‘std::pair<cro::Entity, cro::SortData>&’} to ‘const std::pair<cro::Entity, cro::SortData>’ discards qualifiers
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:13: note: candidate 2: ‘cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>’ (near match)
[ 88s] 236 | [](MaterialPair& a, MaterialPair& b)
[ 88s] | ^
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:13: note: conversion of argument 1 would be ill-formed:
[ 88s] /home/abuild/rpmbuild/BUILD/crogine-0-build/crogine-golfv1.21.2+git20251004/crogine/src/ecs/systems/ModelRenderer.cpp:236:13: error: binding reference of type ‘cro::MaterialPair&’ {aka ‘std::pair<cro::Entity, cro::SortData>&’} to ‘const std::pair<cro::Entity, cro::SortData>’ discards qualifiers
[ 88s] /usr/include/c++/15/bits/predefined_ops.h: In instantiation of ‘bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<std::pair<cro::Entity, cro::SortData>*, std::vector<std::pair<cro::Entity, cro::SortData> > >; _Value = const std::pair<cro::Entity, cro::SortData>; _Compare = cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)>]’:
[ 88s] /usr/include/c++/15/bits/stl_algobase.h:1509:14: required from ‘_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = __gnu_cxx::__normal_iterator<pair<cro::Entity, cro::SortData>*, vector<pair<cro::Entity, cro::SortData> > >; _Tp = pair<cro::Entity, cro::SortData>; _Compare = __gnu_cxx::__ops::_Iter_comp_val<cro::ModelRenderer::updateDrawList(cro::Entity)::<lambda(cro::MaterialPair&, cro::MaterialPair&)> >]’
[ 88s] 1509 | if (__comp(__middle, __val))
...
full buildlog:
crogine-openSUSE-Tumbleweed-buildlog.txt
$ gcc --version
gcc (SUSE Linux) 15.2.1 20251006
Copyright (C) 2025 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Metadata
Metadata
Assignees
Labels
No labels