There are less than four weeks until the Fedora 43 mass rebuild. While mass rebuilds inevitably result in some breakage, the following issues appear likely to be common causes of FTBFS or FTI:

Missing sysusers.d configs

RPM now generates virtual dependencies on user(USERNAME) and/or group(GROUPNAME) under various conditions (e.g. a file in %files is listed with such a user/group ownership). In order to resolve these dependencies, packages must now provide sysusers.d config files which are automatically parsed to generate similar virtual provides. Without these configs, a newly rebuilt package will FTI, and anything which buildrequires it will fail to build for being unable to install its dependencies. See the Change documentation for more details.

Python 3.14

While the Python team has already rebuilt many Python-dependent packages for 3.14, some packages still need to be fixed for changes in the new version (see What’s New in Python 3.14). Furthermore, packages which use Python only at build-time (e.g. for build scripts, or running tests, etc.) have yet to be rebuilt, and may need to be fixed as well.

Aclocal macros moved in gettext 0.25

In previous versions of gettext-devel, its various aclocal macros were installed in the default macro search path, and therefore were generally found by autoreconf without any effort, or even when they shouldn’t have been. However, that actually caused conflict with autopoint when trying to pin an older macros version with AM_GNU_GETTEXT_VERSION. With gettext 0.25, these macros are now located in a private path, and while autopoint still works as designed, other (technically unsupported) use cases have broken as a result, such as the use of AM_ICONV by itself. The workaround for such cases is to export ACLOCAL_PATH=/usr/share/gettext/m4/ before autoreconf.

X11 disablement in mutter breaks xwfb-run

As part of the ongoing deprecation of the X11 servers, many packages previously switched from xvfb-run to xwfb-run (part of xwayland-run), the latter requiring a Wayland compositor to be specified. The next step of that for F43 was disabling the X11 session support in the GNOME desktop, which included disabling the X11 window management support in mutter. Many GNOME packages, and all such packages in the RHEL/ELN set, are using mutter as the compositor. (Packages outside of the GNOME and RHEL sets may use weston instead and are not impacted.)

Unfortunately, due to a bug in mutter before 49.alpha, disabling X11 also mistakenly disabled the --no-x11 option which (counterintuitively) is not the opposite of the now-disabled --x11 argument (to run as an X11 window manager) but disabled the launching of an XWayland server. With the option disabled but XWayland support enabled, that means mutter is always trying to launch XWayland even where it shouldn’t (such as in a moch chroot, where it doesn’t work). xwayland-run relied on this option to avoid that, but with that not working, any use of xwfb-run -c mutter (or the like) are currently failing.

This should be fixed as part of the 49~alpha.0 update which is currently in testing but blocked by additional packages needing to be updated in tandem. Hopefully the Workstation WG can get this fixed in time for the F43 mass rebuild.

glibc 2.42 changes

The development version of glibc now in rawhide/F43 includes a few potentially breaking changes:

  • The ancient <termio.h> and struct termio interfaces have been removed. Using <sys/ioctl.h> and/or <termios.h>, and struct termios, instead should cover the common use cases.
  • lockf now has a warn_unused_result attribute (commit), which will generate warnings (or promoted errors) in code where the result is ignored.

GCC 15

While many of the changes in GCC 15 were handled in the aftermath of the previous F42 mass rebuild , there are still some packages which have yet to be rebuilt. Particularly, mingw-gcc 15 did not land until after the mass rebuild, so some mingw packages may see failures. (For those with corresponding native packages, hopefully the fix is already available.) Also, some later changes in GCC 15 (after the mass rebuild) may also cause failures (one example).

Flaky tests

All too often, builds fail in %check due to flaky or architecture-dependent tests. Rerunning an entire build (sometimes multiple times!) just in order to get tests to pass is a waste of time and resources. Instead, please consider moving tests out of the spec file and into CI instead.

Note:

This list was generated by AI – just kidding! Actually, this is the result of an early mass rebuild in ELN, which was done with the express purpose of finding such issues in advance, and get a head start on fixing them. Hopefully this information, and the fixes provided along the way (linked in the tracker) will help maintainers to have a smoother mass rebuild experience.