Bug 2434767

Summary: libpkgmanifest-0.5.9-6.fc44 FTBFS: Python binding generated by Swig fails with GCC 16: commonPYTHON_wrap.cxx:692:37: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
Product: [Fedora] Fedora Reporter: Fedora Release Engineering <releng>
Component: libpkgmanifestAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: high    
Version: rawhideCC: ppisar, rpm-software-management
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: i686   
OS: Unspecified   
Whiteboard:
Fixed In Version: libpkgmanifest-0.5.9-7.fc44 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-02-02 15:14:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2384424    
Attachments:
Description Flags
build.log
none
root.log
none
state.log none

Description Fedora Release Engineering 2026-01-28 21:24:50 UTC
libpkgmanifest failed to build from source in Fedora rawhide/f44

https://koji.fedoraproject.org/koji/taskinfo?taskID=141167257


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
Please fix libpkgmanifest at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
libpkgmanifest will be orphaned. Before branching of Fedora 45,
libpkgmanifest will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:
https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/

Comment 1 Fedora Release Engineering 2026-01-28 21:24:58 UTC
Created attachment 2126127 [details]
build.log

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2026-01-28 21:25:03 UTC
Created attachment 2126128 [details]
root.log

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2026-01-28 21:25:06 UTC
Created attachment 2126129 [details]
state.log

Comment 4 Petr Pisar 2026-01-29 12:24:57 UTC
From the build.log:

[ 53%] Building CXX object bindings/python/libpkgmanifest/CMakeFiles/python3_manifest.dir/CMakeFiles/python3_manifest.dir/manifestPYTHON_wrap.cxx.o
cd /builddir/build/BUILD/libpkgmanifest-0.5.9-build/libpkgmanifest-0.5.9/redhat-linux-build/bindings/python/libpkgmanifest && /usr/bin/g++ -Dpython3_common_EXPORTS -I/builddir/build/BUILD/libpkgmanifest-0.5.9-build/libpkgmanifest-0.5.9/include -I/usr/include/python3.14 -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  -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -mtls-dialect=gnu -std=gnu++20 -fPIC -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -MD -MT bindings/python/libpkgmanifest/CMakeFiles/python3_common.dir/CMakeFiles/python3_common.dir/commonPYTHON_wrap.cxx.o -MF CMakeFiles/python3_common.dir/CMakeFiles/python3_common.dir/commonPYTHON_wrap.cxx.o.d -o CMakeFiles/python3_common.dir/CMakeFiles/python3_common.dir/commonPYTHON_wrap.cxx.o -c /builddir/build/BUILD/libpkgmanifest-0.5.9-build/libpkgmanifest-0.5.9/redhat-linux-build/bindings/python/libpkgmanifest/CMakeFiles/python3_common.dir/commonPYTHON_wrap.cxx
[...]
/builddir/build/BUILD/libpkgmanifest-0.5.9-build/libpkgmanifest-0.5.9/redhat-linux-build/bindings/python/libpkgmanifest/CMakeFiles/python3_common.dir/commonPYTHON_wrap.cxx: In function ‘void SWIG_TypeClientData(swig_type_info*, void*)’:
/builddir/build/BUILD/libpkgmanifest-0.5.9-build/libpkgmanifest-0.5.9/redhat-linux-build/bindings/python/libpkgmanifest/CMakeFiles/python3_common.dir/commonPYTHON_wrap.cxx:692:37: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
  692 |     for (cast = head; (cast - head) <= head->value; cast++) {
      |                       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~

The file is generated by Swig.
The -Wsign-compare is included in -Wall and "-Wall -Wextra -Werror" is explicitly added in CMakeLists.txt

Comment 5 Petr Pisar 2026-01-29 17:09:29 UTC
The build failure seems to be fixed by upgrading gcc-c++ from 16.0.0-0.4.fc44 to 16.0.1-0.3.fc44.

Comment 6 Petr Pisar 2026-01-29 17:23:14 UTC
It's not completely fixed: It compiles but i686 with the same error.

Comment 7 Petr Pisar 2026-01-29 18:41:23 UTC
I believe it as a fault of Swig <https://github.com/swig/swig/issues/3323>.

As a workaround I will try to remove the -Werror option from compiler flags for the Swig-generated files in libpkgmanifest.