Bug 2340762 - libsolv: FTBFS in Fedora rawhide/f42: bool redefinitions with GCC 15 in bindings/solv.i (via Swig-generated solv_perl.c)
Summary: libsolv: FTBFS in Fedora rawhide/f42: bool redefinitions with GCC 15 in bindi...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: libsolv
Version: 42
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F42FTBFS
TreeView+ depends on / blocked
 
Reported: 2025-01-22 20:46 UTC by Fedora Release Engineering
Modified: 2025-02-18 07:59 UTC (History)
9 users (show)

Fixed In Version: libsolv-0.7.31-5.fc42
Clone Of:
Environment:
Last Closed: 2025-02-18 07:59:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (32.00 KB, text/plain)
2025-01-22 20:46 UTC, Fedora Release Engineering
no flags Details
root.log (32.00 KB, text/plain)
2025-01-22 20:46 UTC, Fedora Release Engineering
no flags Details
state.log (1.63 KB, text/plain)
2025-01-22 20:46 UTC, Fedora Release Engineering
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github openSUSE libsolv pull 580 0 None open Fix building in ISO C23 2025-02-07 14:40:47 UTC

Description Fedora Release Engineering 2025-01-22 20:46:50 UTC
libsolv failed to build from source in Fedora rawhide/f42

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


For details on the mass rebuild see:

https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
Please fix libsolv 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,
libsolv will be orphaned. Before branching of Fedora 43,
libsolv 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 2025-01-22 20:46:53 UTC
Created attachment 2070823 [details]
build.log

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

Comment 2 Fedora Release Engineering 2025-01-22 20:46:55 UTC
Created attachment 2070824 [details]
root.log

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

Comment 3 Fedora Release Engineering 2025-01-22 20:46:56 UTC
Created attachment 2070825 [details]
state.log

Comment 4 Petr Pisar 2025-02-07 14:02:12 UTC
From the build log:

[127/142] cd /home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl && /usr/bin/swig -perl -DHAVE_STRCHRNUL -DHAVE_FOPENCOOKIE -DHAVE_RPMDBFSTAT -DWITH_LIBXML2 -DENABLE_COMPLEX_DEPS -DMULTI_SEMANTICS -DENABLE_CONDA -DENABLE_RPMDB -DENABLE_RPMPKG -DENABLE_RPMMD -DENABLE_RPMPKG_LIBRPM -DENABLE_RPMDB_LIBRPM -DENABLE_RPMDB_BYRPMHEADER -DENABLE_SUSEREPO -DENABLE_COMPS -DENABLE_HELIXREPO -DENABLE_ARCHREPO -DENABLE_DEBIAN -DENABLE_ZLIB_COMPRESSION -DENABLE_LZMA_COMPRESSION -DENABLE_BZIP2_COMPRESSION -DENABLE_ZSTD_COMPRESSION -DENABLE_ZCHUNK_COMPRESSION -DENABLE_APPDATA -DWITH_SYSTEM_ZCHUNK -I/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/src -o solv_perl.c /home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/bindings/solv.i && sed -i -e "s/SvTYPE(tsv) == SVt_PVHV/SvTYPE(tsv) == SVt_PVHV || SvTYPE(tsv) == SVt_PVAV/" solv_perl.c
[...]
/usr/bin/gcc -DENABLE_APPDATA=1 -DENABLE_ARCHREPO=1 -DENABLE_BZIP2_COMPRESSION=1 -DENABLE_COMPLEX_DEPS=1 -DENABLE_COMPS=1 -DENABLE_CONDA=1 -DENABLE_DEBIAN=1 -DENABLE_HELIXREPO=1 -DENABLE_LZMA_COMPRESSION=1 -DEN
ABLE_RPMDB=1 -DENABLE_RPMDB_BYRPMHEADER=1 -DENABLE_RPMDB_LIBRPM=1 -DENABLE_RPMMD=1 -DENABLE_RPMPKG=1 -DENABLE_RPMPKG_LIBRPM=1 -DENABLE_SUSEREPO=1 -DENABLE_ZCHUNK_COMPRESSION=1 -DENABLE_ZLIB_COMPRESSION=1 -DENAB
LE_ZSTD_COMPRESSION=1 -DFEDORA -DHAVE_FOPENCOOKIE=1 -DHAVE_RPMDBFSTAT=1 -DHAVE_STRCHRNUL=1 -DMU
LTI_SEMANTICS=1 -DWITH_LIBXML2=1 -DWITH_SYSTEM_ZCHUNK=1 -D_FILE_OFFSET_BITS=64 -Dbindings_perl_EXPORTS -I/usr/include/libxml2 -I/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31 -I/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/src -I/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/ext -I/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build -I/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/src -I/usr/lib64/perl5/CORE -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 -Wall -fPIC -fPIC   -D_REENTRANT -D_GNU_SOURCE -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -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 -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wno-unused -Wno-nonnull -MD -MT bindings/perl/CMakeFiles/bindings_perl.dir/solv_perl.c.o -MF bindings/perl/CMakeFiles/bindings_perl.dir/solv_perl.c.o.d -o bindings/perl/CMakeFiles/bindings_perl.dir/solv_perl.c.o -c /home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl/solv_perl.c
/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl/solv_perl.c:1641:13: error: ‘bool’ cannot be defined via ‘typedef’
 1641 | typedef int bool;
      |             ^~~~
/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl/solv_perl.c:1641:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
/home/test/fedora/libsolv/libsolv-0.7.31-build/libsolv-0.7.31/redhat-linux-build/bindings/perl/solv_perl.c:1641:1: warning: useless type name in empty declaration
 1641 | typedef int bool;
      | ^~~~~~~

Comment 5 Petr Pisar 2025-02-07 14:06:18 UTC
The bool definition actually comes from libsolv's bindings/solv.i:

%{
#include <stdbool.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/utsname.h>
#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>

/* argh, swig undefs bool for perl */
#ifndef bool
typedef int bool;
#endif

Comment 6 Petr Pisar 2025-02-10 12:57:00 UTC
The fix was accepted upstream.


Note You need to log in before you can comment on or make changes to this bug.