Currently on s390x and aarch64, every gcc build shows the following warnings on s390x and aarch64, e.g. https://koji.fedoraproject.org/koji/buildinfo?buildID=2340287 ``` /usr/bin/ld: warning: -z pack-relative-relocs ignored ``` Moreover, even if this says "ignored", looks like sometimes this causes ld failure. e.g. kf5-kross-interpreters-22.04.3-6.fc40: ld is failing with "-z pack-relative-relocs ignored": https://koji.fedoraproject.org/koji/taskinfo?taskID=111244958 with "%undefine _ld_pack_relocs", build is successful: https://koji.fedoraproject.org/koji/taskinfo?taskID=111245772 e.g openbabel-3.1.1-22.fc40 same ld failure with "-z pack-relative-relocs ignored": https://koji.fedoraproject.org/koji/taskinfo?taskID=111244359 with "%undefine _ld_pack_relocs", I try building, build is now underway, but at least the above ld error does not happen. https://koji.fedoraproject.org/koji/taskinfo?taskID=111245910 Reproducible: Always
Huh. It's there on ppc64le, but not on aarch64, s390x. I'll disable the option on aarch64 and s390x.
Took longer than expected, but should be fixed with redhat-rpm-config-274-1.fc40.
This caused more damage: https://pagure.io/releng/failed-composes/issue/5773#comment-889742 The RPM ELF dependency generator missed generating the symbol versions Provides:. I would advise anyone that built anything in rawhide on 2024/01/03 to double check their results.
I'm working on getting a list of affected builds using a modified version of https://pagure.io/releng/blob/main/f/scripts/find-bad-builds.py .
That list comes out as: cockpit egl-gbm gutenprint ksh libcomps rubygem-RedCloth rubygem-bcrypt rubygem-bindex rubygem-json rubygem-racc xterm sanity checking it, that looks more or less right. It's listing any build started between 2024-01-03 01:15:00 and 2024-01-03 11:00:00 (the timeframe when the bad build was tagged, with some padding) that actually had the bad build in its buildroot and also had an aarch64 build, so it's a bit over-loose - not all of those things actually have library provides.
hum, seems the list is too short because builds were still getting 273-1 well after 274-1 was tagged, for some reason. will try and find a correct end bound and re-run the script.
Note that the Provides: only change if something like an autoconf check goes wrong due to the warning. The warning on its own does not cause a change in linker output. (I did test this extensively, despite running into multiple unrelated issues, but didn't watch for architecture-specific warnings. Sorry!)
Ugh, timezone issues. Here's a fixed list, again, this is just packages built with the affected redhat-rpm-config that had an aarch64 build, the script doesn't check if they had affected Provides: Thunar buildah clearsilver cockpit curlftpfs deepin-qt5integration deepin-qt5platform-plugins dislocker dnf5 efl egl-gbm exim fcitx-qt5 fcitx5-qt fwupd gambas3 glibc gnome-settings-daemon graphviz gtk4 gutenprint hivex hyperestraier initial-setup keepassxc ksh libcaca libcomps libguestfs libopenshot libsbml libselinux libsolv libtrash libunicode libyui mapserver marisa nbdkit notmuch oath-toolkit openwsman os-autoinst perl-Digest-MD5 phd2 player podman proxmark3 python-fastavro python-indexed_gzip python-qt5 python-urwid qadwaitadecorations qdbm qgnomeplatform qt5-qtwebengine qt5-qtwebkit qt5-qtwebview qt5ct rrdtool ruby-augeas ruby-gnome2 ruby-mecab rubygem-RedCloth rubygem-bcrypt rubygem-bcrypt_pbkdf rubygem-bindex rubygem-bootsnap rubygem-bson rubygem-cairo rubygem-cairo-gobject rubygem-curb rubygem-ed25519 rubygem-eventmachine rubygem-ffi rubygem-gio2 rubygem-glib2 rubygem-glu rubygem-glut rubygem-gobject-introspection rubygem-goocanvas1 rubygem-gstreamer rubygem-gtk2 rubygem-gtk3 rubygem-gtksourceview2 rubygem-hiredis rubygem-http_parser.rb rubygem-idn rubygem-json rubygem-krb5-auth rubygem-levenshtein rubygem-msgpack rubygem-mysql2 rubygem-narray rubygem-ncursesw rubygem-nio4r rubygem-nokogiri rubygem-opengl rubygem-ox rubygem-pango rubygem-pg rubygem-posix-spawn rubygem-puma rubygem-racc rubygem-rdiscount rubygem-redcarpet rubygem-regexp_property_values rubygem-rmagick rubygem-ruby-libvirt rubygem-ruby-shadow rubygem-rugged rubygem-serialport rubygem-sqlite3 rubygem-syck rubygem-tk rubygem-unf_ext rubygem-unicode rubygem-vte rubygem-websocket-driver rubygem-xmlparser rubygem-zoom schedtool simspark skf tinyxml totem-pl-parser uwsgi vdr vim-command-t vokoscreenNG weechat xmlsec1 xmms2 xterm
OK, here's a filtered list of cases where unversioned provides differ on at least one arch between the previous build and the possibly-affected build: Provides from initial-setup-0.3.99-1.fc40 missing in initial-setup-0.3.100-1.fc40 on arch src: ['initial-setup-gui-xorg'] Provides from initial-setup-0.3.99-1.fc40 missing in initial-setup-0.3.100-1.fc40 on arch i686: ['initial-setup-gui-xorg', 'initial-setup-gui-xorg(x86-32)'] Provides from initial-setup-0.3.99-1.fc40 missing in initial-setup-0.3.100-1.fc40 on arch x86_64: ['initial-setup-gui-xorg(x86-64)', 'initial-setup-gui-xorg'] Provides from initial-setup-0.3.99-1.fc40 missing in initial-setup-0.3.100-1.fc40 on arch aarch64: ['initial-setup-gui-xorg(aarch-64)', 'initial-setup-gui-xorg'] Provides from initial-setup-0.3.99-1.fc40 missing in initial-setup-0.3.100-1.fc40 on arch ppc64le: ['initial-setup-gui-xorg', 'initial-setup-gui-xorg(ppc-64)'] Provides from initial-setup-0.3.99-1.fc40 missing in initial-setup-0.3.100-1.fc40 on arch s390x: ['initial-setup-gui-xorg(s390-64)', 'initial-setup-gui-xorg'] Provides from vdr-2.6.4-2.fc40 missing in vdr-2.6.5-1.fc40 on arch i686: ['libvdr-rcu.so.2.6.3', 'libvdr-dvbsddevice.so.2.6.3', 'libvdr-skincurses.so.2.6.3', 'libvdr-dvbhddevice.so.2.6.3'] Provides from vdr-2.6.4-2.fc40 missing in vdr-2.6.5-1.fc40 on arch x86_64: ['libvdr-skincurses.so.2.6.3()(64bit)', 'libvdr-rcu.so.2.6.3()(64bit)', 'libvdr-dvbsddevice.so.2.6.3()(64bit)', 'libvdr-dvbhddevice.so.2.6.3()(64bit)'] Provides from vdr-2.6.4-2.fc40 missing in vdr-2.6.5-1.fc40 on arch aarch64: ['libvdr-skincurses.so.2.6.3()(64bit)', 'libvdr-rcu.so.2.6.3()(64bit)', 'libvdr-dvbsddevice.so.2.6.3()(64bit)', 'libvdr-dvbhddevice.so.2.6.3()(64bit)'] Provides from vdr-2.6.4-2.fc40 missing in vdr-2.6.5-1.fc40 on arch ppc64le: ['libvdr-skincurses.so.2.6.3()(64bit)', 'libvdr-rcu.so.2.6.3()(64bit)', 'libvdr-dvbsddevice.so.2.6.3()(64bit)', 'libvdr-dvbhddevice.so.2.6.3()(64bit)'] Provides from vdr-2.6.4-2.fc40 missing in vdr-2.6.5-1.fc40 on arch s390x: ['libvdr-skincurses.so.2.6.3()(64bit)', 'libvdr-rcu.so.2.6.3()(64bit)', 'libvdr-dvbsddevice.so.2.6.3()(64bit)', 'libvdr-dvbhddevice.so.2.6.3()(64bit)'] Provides from efl-1.27.0-1.fc40 missing in efl-1.27.0-2.fc40 on arch i686: ['libecore_sdl.so'] Provides from efl-1.27.0-1.fc40 missing in efl-1.27.0-2.fc40 on arch x86_64: ['libecore_sdl.so()(64bit)'] Provides from efl-1.27.0-1.fc40 missing in efl-1.27.0-2.fc40 on arch aarch64: ['libecore_sdl.so()(64bit)'] Provides from efl-1.27.0-1.fc40 missing in efl-1.27.0-2.fc40 on arch ppc64le: ['libecore_sdl.so()(64bit)'] Provides from efl-1.27.0-1.fc40 missing in efl-1.27.0-2.fc40 on arch s390x: ['libecore_sdl.so()(64bit)'] Provides from fwupd-1.9.10-1.fc40 missing in fwupd-1.9.11-1.fc40 on arch aarch64: ['libfwupd.so.2(LIBFWUPD_1.8.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.6.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.8.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.11)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.10)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.7.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.6.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.9)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.13)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.7.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.1.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.6.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.10)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.7.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.6)(64bit)'] Provides from fwupd-1.9.10-1.fc40 missing in fwupd-1.9.11-1.fc40 on arch s390x: ['libfwupd.so.2(LIBFWUPD_1.8.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.6.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.8.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.11)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.10)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.7.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.6.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.9)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.8)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.13)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.5)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.7.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.1.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.9.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.6.1)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.4)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.8.2)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.10)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.4.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.7.6)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.9.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.0.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_0.7.0)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.1.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.5.3)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.3.7)(64bit)', 'libfwupd.so.2(LIBFWUPD_1.2.6)(64bit)'] Provides from cockpit-307-1.fc40 missing in cockpit-308-1.fc40 on arch noarch: ['bundled(npm(@babel/runtime))', 'bundled(npm(regenerator-runtime))']
Going over those manually, it looks like really only fwupd is a real problem. So I'll just rebuild fwupd and we can call it a day.