Fedora Account System
Red Hat Associate
Red Hat Customer
We are now trying to rebuild pkgs against ruby4.0, however dnf5-5.3.0.0-4.fc44 FTBFS on rawhide due to g++16 issues (which is not related to ruby4.0 changes): https://koji.fedoraproject.org/koji/buildinfo?buildID=2890350 x86_64: https://koji.fedoraproject.org/koji/taskinfo?taskID=140864449 Build errors are happening at least on 2 places: [ 44%] Building CXX object libdnf5/CMakeFiles/libdnf5_obj.dir/rpm/solv/goal_private.cpp.o cd /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/redhat-linux-build/libdnf5 && /usr/bin/g++ -DGETTEXT_DOMAIN=\"libdnf5\" -DLIBDNF_BUILD_LIBRARY -DLIBSOLV_FLAG_FOCUSNEW=1 -DLIBSOLV_SOLVABLE_PREPEND_DEP -DPROJECT_BINARY_DIR=\"/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/redhat-linux-build\" -DPROJECT_SOURCE_DIR=\"/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0\" -DPROJECT_VERSION_MAJOR=3 -DPROJECT_VERSION_MICRO=0 -DPROJECT_VERSION_MINOR=0 -DPROJECT_VERSION_PRIME=5 -DWITH_MODULEMD -I/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include -I/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/common -I/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/. -I/usr/include/json-c -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=gnu++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fmacro-prefix-map=/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/= -Wall -Wextra -Werror -Wcast-align -Wformat-nonliteral -Wmissing-format-attribute -Wredundant-decls -Wsign-compare -Wsign-conversion -Wtype-limits -Wuninitialized -Wwrite-strings -Werror=unused-result -Wodr -Wconversion -Wl,--as-needed -MD -MT libdnf5/CMakeFiles/libdnf5_obj.dir/rpm/solv/goal_private.cpp.o -MF CMakeFiles/libdnf5_obj.dir/rpm/solv/goal_private.cpp.o.d -o CMakeFiles/libdnf5_obj.dir/rpm/solv/goal_private.cpp.o -c /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/rpm/solv/goal_private.cpp In file included from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/module/module_metadata.cpp:22: /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/base/base.hpp:59:18: error: defining ‘libdnf5::Base’, which previously failed to be complete in a SFINAE context [-Werror=sfinae-incomplete=] 59 | class LIBDNF_API Base { | ^~~~ In file included from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/base/base_weak.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/./module/module_metadata.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/module/module_metadata.cpp:20: /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/common/weak_ptr.hpp:121:58: note: here. Use ‘-Wsfinae-incomplete=2’ for a diagnostic at that point 121 | template <typename T = TPtr, typename std::enable_if<sizeof(T) && ptr_owner, int>::type = 0> | ^~~~~~~~~ [ 47%] Building CXX object libdnf5/CMakeFiles/libdnf5_obj.dir/transaction/offline.cpp.o cd /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/redhat-linux-build/libdnf5 && /usr/bin/g++ -DGETTEXT_DOMAIN=\"libdnf5\" -DLIBDNF_BUILD_LIBRARY -DLIBSOLV_FLAG_FOCUSNEW=1 -DLIBSOLV_SOLVABLE_PREPEND_DEP -DPROJECT_BINARY_DIR=\"/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/redhat-linux-build\" -DPROJECT_SOURCE_DIR=\"/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0\" -DPROJECT_VERSION_MAJOR=3 -DPROJECT_VERSION_MICRO=0 -DPROJECT_VERSION_MINOR=0 -DPROJECT_VERSION_PRIME=5 -DWITH_MODULEMD -I/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include -I/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/common -I/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/. -I/usr/include/json-c -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-6 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=gnu++20 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fmacro-prefix-map=/builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/= -Wall -Wextra -Werror -Wcast-align -Wformat-nonliteral -Wmissing-format-attribute -Wredundant-decls -Wsign-compare -Wsign-conversion -Wtype-limits -Wuninitialized -Wwrite-strings -Werror=unused-result -Wodr -Wconversion -Wl,--as-needed -MD -MT libdnf5/CMakeFiles/libdnf5_obj.dir/transaction/offline.cpp.o -MF CMakeFiles/libdnf5_obj.dir/transaction/offline.cpp.o.d -o CMakeFiles/libdnf5_obj.dir/transaction/offline.cpp.o -c /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/transaction/offline.cpp In file included from /usr/include/c++/16/bits/stl_algobase.h:66, from /usr/include/c++/16/bits/specfun.h:44, from /usr/include/c++/16/cmath:3913, from /usr/include/fmt/format.h:44, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/utils/format.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/common/exception.hpp:25, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/conf/config_parser_errors.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/conf/config_parser.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/conf/config.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/conf/config_main.hpp:23, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/libdnf5/conf/config_main.cpp:20: In member function ‘__gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>::operator++(int)’, inlined from ‘std::__unicode::_Utf_iterator<char32_t, char, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, std::__unicode::_Repl>::_M_read_utf32()’ at /usr/include/c++/16/bits/unicode.h:440:27, inlined from ‘std::__unicode::_Utf_iterator<char32_t, char, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, std::__unicode::_Repl>::_M_read()’ at /usr/include/c++/16/bits/unicode.h:272:19, inlined from ‘_ZNSt9__unicode13_Utf_iteratorIDicN9__gnu_cxx17__normal_iteratorIPKDiNSt4spanIS3_Lm1EE10__iter_tagEEES8_NS_5_ReplEEC4ES8_S8_S8_Q22bidirectional_iteratorIT1_E’ at /usr/include/c++/16/bits/unicode.h:132:11, inlined from ‘std::__unicode::_Utf_view<char, std::span<char32_t const, 1ul> >::_M_end<__gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag> >(__gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>)auto’ at /usr/include/c++/16/bits/unicode.h:724:46, inlined from ‘std::__unicode::_Utf_view<char, std::span<char32_t const, 1ul> >::end()’ at /usr/include/c++/16/bits/unicode.h:739:22, inlined from ‘std::__format::__write_padded<std::__format::_Sink_iter<char>, char>(std::__format::_Sink_iter<char>, std::basic_string_view<char, std::char_traits<char> >, std::__format::_Align, unsigned long, char32_t)std::__format::_Sink_iter<char>’ at /usr/include/c++/16/format:860:27: /usr/include/c++/16/bits/stl_iterator.h:1111:16: error: array subscript 2 is outside array bounds of ‘const char32_t[1]’ [-Werror=array-bounds=] 1111 | { return __normal_iterator(_M_current++); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/16/bits/chrono_io.h:40, from /usr/include/c++/16/chrono:3679, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/logger/logger.hpp:28, from /builddir/build/BUILD/dnf5-5.3.0.0-build/dnf5-5.3.0.0/include/libdnf5/conf/config.hpp:29: /usr/include/c++/16/format: In function ‘std::__format::__write_padded<std::__format::_Sink_iter<char>, char>(std::__format::_Sink_iter<char>, std::basic_string_view<char, std::char_traits<char> >, std::__format::_Align, unsigned long, char32_t)std::__format::_Sink_iter<char>’: /usr/include/c++/16/format:858:28: note: at offset 8 into object ‘__arr’ of size 4 858 | const char32_t __arr[1]{ __fill_char }; | ^~~~~ In file included from /usr/include/c++/16/format:62: In member function ‘std::__unicode::_Utf_iterator<char32_t, char, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, std::__unicode::_Repl>::_M_read_utf32()’, inlined from ‘std::__unicode::_Utf_iterator<char32_t, char, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, std::__unicode::_Repl>::_M_read()’ at /usr/include/c++/16/bits/unicode.h:272:19, inlined from ‘_ZNSt9__unicode13_Utf_iteratorIDicN9__gnu_cxx17__normal_iteratorIPKDiNSt4spanIS3_Lm1EE10__iter_tagEEES8_NS_5_ReplEEC4ES8_S8_S8_Q22bidirectional_iteratorIT1_E’ at /usr/include/c++/16/bits/unicode.h:132:11, inlined from ‘std::__unicode::_Utf_view<char, std::span<char32_t const, 1ul> >::_M_end<__gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag> >(__gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>, __gnu_cxx::__normal_iterator<char32_t const*, std::span<char32_t const, 1ul>::__iter_tag>)auto’ at /usr/include/c++/16/bits/unicode.h:724:46, inlined from ‘std::__unicode::_Utf_view<char, std::span<char32_t const, 1ul> >::end()’ at /usr/include/c++/16/bits/unicode.h:739:22, inlined from ‘std::__format::__write_padded<std::__format::_Sink_iter<char>, char>(std::__format::_Sink_iter<char>, std::basic_string_view<char, std::char_traits<char> >, std::__format::_Align, unsigned long, char32_t)std::__format::_Sink_iter<char>’ at /usr/include/c++/16/format:860:27: /usr/include/c++/16/bits/unicode.h:440:18: error: array subscript 1 is outside array bounds of ‘const char32_t[1]’ [-Werror=array-bounds=] 440 | char32_t __c = *_M_curr()++; | ^~~ /usr/include/c++/16/format: In function ‘std::__format::__write_padded<std::__format::_Sink_iter<char>, char>(std::__format::_Sink_iter<char>, std::basic_string_view<char, std::char_traits<char> >, std::__format::_Align, unsigned long, char32_t)std::__format::_Sink_iter<char>’: /usr/include/c++/16/format:858:28: note: at offset 4 into object ‘__arr’ of size 4 858 | const char32_t __arr[1]{ __fill_char }; | ^~~~~ Reproducible: Always
Should be resolved by https://github.com/rpm-software-management/dnf5/pull/2564
Thanks for the upstream fix. I will apply it to Fedora 44.
CI failed on: * fedora-ci.koji-build.rpminspect.static-analysis: ABI diff claim thats 11 symbols were removed from libdn5.so (all about std::format). I waived it because those are internal to libdnf5 and their presence actually cause a link failure with GCC 16 (subject of "Replace all `std::format` with `fmt::format`" commit 21722d9abad6488a5a34ff579c22d83014bca54f.) * fedora-ci.koji-build.installability.functional: This looks like CI misconfiguration <https://pagure.io/fedora-ci/general/issue/538>.
(In reply to Petr Pisar from comment #3) > * fedora-ci.koji-build.installability.functional: This looks like CI > misconfiguration <https://pagure.io/fedora-ci/general/issue/538>. DNF team concluded that it works as designed and that CI needs to accommodate. Also waived.