https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: media-libs/kvazaar-2.2.0 adds -Werror flag on its own (MUSL-SYSTEM). Discovered on: amd64 (internal ref: tinderbox_musl) NOTE: (MUSL-SYSTEM) in the summary means that bug was found on a machine that runs MUSL libc but this bug MAY or MAY NOT BE related to musl. -Werror is not recommended for releases and should always be disabled when encountered in build-logs, because there are numerous cases where this breaks without purpose. See also: https://devmanual.gentoo.org/ebuild-writing/common-mistakes/index.html.
Created attachment 862706 [details] build.log build log and emerge --info
ci has reproduced this issue with version 2.3.0 - Updating summary.
ci has reproduced this issue with version 2.3.0-r1 - Updating summary.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e6308710dff6e3e7469e536d5e947494ca080fd4 commit e6308710dff6e3e7469e536d5e947494ca080fd4 Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2024-04-07 22:24:11 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-04-07 23:33:45 +0000 media-libs/kvazaar: don't manually enable -Werror autotools is genius software. When you add a flag called --disable-werror, it isn't actually a flag called --disable-werror. It's a flag called AC_ARG_ENABLE(werror), which expands "code if argument was passed on the command line" and "code if argument was not passed on the command line" blocks. When you say "--disable-werror" all you actually do is add a formatted help text, which is otherwise totally ignored by autoconf. kvazaar had an AC_ARG_ENABLE that defined an action-if-argument-was-defined-on-the-command-line of nothing, and an action-if-argument-was-excluded-on-the-command-line of adding -Werror to CFLAGS. Back in commit 019c44a86ad017ea54703b7594b076cb0b840707, this was then used to work around the default addition of -Werror. Logical. In the very next release, upstream changed the help text to advertise the --enable-* form, and switched it to action-if-argument-was-defined-on-the-command-line of adding -Werror, action-if-argument-was-excluded-on-the-command-line of nothing. See: https://github.com/ultravideo/kvazaar/commit/033bc6bc45b0c6b200a4227208d2fa6263e09166 This naturally meant that passing --disable-werror would add -Werror, in addition to setting the ignored shell variable enable_werror=no. So for seven years, we've been building with -Werror. Yay! During that very version bump, --disable-werror was never removed. Instead, append-flags was used to add an additional gcc switch back off, per the redundancy requirements of the Department of Redundancy Department's required approach to redundantly specifying redundant flags. This also appears to tickle edge cases in LTO due to libtool dropping some, but not all flags... sometimes. Leading to LTO being performed with global -Werror. Bug: https://bugs.gentoo.org/618434 Closes: https://bugs.gentoo.org/907263 Closes: https://bugs.gentoo.org/924296 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-libs/kvazaar/kvazaar-2.1.0.ebuild | 5 +---- media-libs/kvazaar/kvazaar-2.2.0.ebuild | 5 +---- media-libs/kvazaar/kvazaar-2.3.0-r1.ebuild | 3 --- media-libs/kvazaar/kvazaar-9999.ebuild | 3 --- 4 files changed, 2 insertions(+), 14 deletions(-)