Hello, Recent ebuilds of mpg123-base (1.32.9-r1 and 1.32.10-r1) fails to build with LTO on. AFAIR, previous build (1.32.9) went great. It's triggered by a Werror, but from gentoo LTO wiki, it should be enabled to avoid runtime issue. Reproducible: Always Steps to Reproduce: 1. build with -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing 2. emerge =mpg123-base-1.32.9-r1 Actual Results: /var/tmp/portage/media-sound/mpg123-base-1.32.9-r1/work/mpg123-1.32.9/src/include/mpg123.h:1118:21: error: type of 'mpg123_seek_frame_64' does not match original declaration [-Werror=lto-type-mismatch] I disabled LTO build for now. [ebuild U ] media-sound/mpg123-base-1.32.9-r1 [1.32.9] USE="alsa ipv6 pulseaudio sdl (-coreaudio) -int-quality -jack -nas -oss -portaudio" ABI_X86="32 (64) (-x32)" CPU_FLAGS_X86="sse (-3dnow) (-3dnowext) (-mmx)" Portage 3.0.67 (python 3.12.9-final-0, default/linux/amd64/23.0/split-usr/desktop, gcc-14, glibc-2.40-r8, 6.6.80-gentoo-x86_64 x86_64) ================================================================= System Settings ================================================================= System uname: Linux-6.6.80-gentoo-x86_64-x86_64-AMD_Ryzen_7_3700X_8-Core_Processor-with-glibc2.40 KiB Mem: 16310444 total, 10425756 free KiB Swap: 20971516 total, 20971516 free Timestamp of repository gentoo: Mon, 10 Mar 2025 09:18:29 +0000 Head commit of repository gentoo: c0b018b89f095ad226a6ea91fd79dfb65bba507a Timestamp of repository librewolf: Sat, 08 Mar 2025 14:19:13 +0000 Head commit of repository librewolf: afc2ab32929e9367574026f7912289d345cc79bb Timestamp of repository steam-overlay: Sat, 08 Mar 2025 17:04:20 +0000 Head commit of repository steam-overlay: 5f5031d1937ace119bb3839e9283c29238b0a634 Timestamp of repository guru: Sat, 08 Mar 2025 17:38:04 +0000 Head commit of repository guru: 0a33a0a7da0d2ece9e224c38019a038f7b578086 sh bash 5.2_p37 ld GNU ld (Gentoo 2.44 p1) 2.44.0 ccache version 4.10.2 [disabled] app-misc/pax-utils: 1.3.8::gentoo app-shells/bash: 5.2_p37::gentoo dev-build/autoconf: 2.71-r7::gentoo, 2.72-r1::gentoo dev-build/automake: 1.17-r1::gentoo dev-build/cmake: 3.31.5::gentoo dev-build/libtool: 2.5.4::gentoo dev-build/make: 4.4.1-r100::gentoo dev-build/meson: 1.6.1::gentoo dev-java/java-config: 2.3.4::gentoo dev-lang/perl: 5.40.0-r1::gentoo dev-lang/python: 3.12.9::gentoo, 3.13.2::gentoo dev-lang/rust: 1.84.1-r1::gentoo dev-util/ccache: 4.10.2-r1::gentoo llvm-core/clang: 19.1.7::gentoo llvm-core/lld: 19.1.7::gentoo llvm-core/llvm: 19.1.7::gentoo sys-apps/baselayout: 2.17::gentoo sys-apps/openrc: 0.56::gentoo sys-apps/sandbox: 2.39::gentoo sys-devel/binutils: 2.44::gentoo sys-devel/binutils-config: 5.5.2::gentoo sys-devel/gcc: 14.2.1_p20241221::gentoo sys-devel/gcc-config: 2.12.1::gentoo sys-kernel/linux-headers: 6.12::gentoo (virtual/os-headers) sys-libs/glibc: 2.40-r8::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 volatile: False sync-git-verify-commit-signature: true librewolf location: /var/db/repos/librewolf sync-type: git sync-uri: https://github.com/gentoo-mirror/librewolf.git masters: gentoo volatile: False local location: /var/db/repos/local masters: gentoo volatile: False steam-overlay location: /var/db/repos/steam-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/steam-overlay.git masters: gentoo volatile: False guru location: /var/db/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirror/guru.git masters: gentoo priority: 50 volatile: False ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O3 -pipe -flto=auto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O3 -pipe -flto=auto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--jobs=16 --load-average=15" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-march=native -O3 -pipe -flto=auto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox split-elog strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=native -O3 -pipe -flto=auto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing" GENTOO_MIRRORS="http://gentoo.mirror.root.lu/ http://tux.rainside.sk/gentoo/ http://ftp.vectranet.pl/gentoo/ ftp://tux.rainside.sk/gentoo/ ftp://ftp.vectranet.pl/gentoo/" LANG="en_IE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -fuse-ld=mold" LEX="flex" MAKEOPTS="-j16 -l15" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" RUSTFLAGS="-C target-cpu=native -C link-arg=-fuse-ld=mold" SHELL="/bin/bash" USE="X a52 aac acl acpi alsa amd64 branding bzip2 cairo cet crypt cups dbus dri dts elogind encode exif flac gdbm gif gpm gtk gui heif iconv icu ipv6 jpeg jpegxl kf6compat lcms libnotify lto lvm mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf pipewire png policykit ppds pulseaudio qml qt6 readline screencast sdl seccomp sound spell split-usr ssl startup-notification svg test-rust tiff truetype udev udisks unicode upower usb vaapi vorbis vulkan wayland webp x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" L10N="en en-US fr fr-BE" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu radeonsi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Created attachment 920529 [details] build log
I am also experiencing this issue
Caused by the lfs flags removal: https://github.com/gentoo/gentoo/commit/292006da0e16c60ff4f9592edc2f594e3b4924b3
(In reply to Kostadin Shishmanov from comment #3) > Caused by the lfs flags removal: Don't think we'll be bringing that back given the missing symbols which is worse. Unless someone has a better fix to offer, guess this is due to just get the filter-lto treatment as a safety -- not planning to spend time o that package myself.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdc41611e455cd5753bae952b16e8fbbf8789121 commit fdc41611e455cd5753bae952b16e8fbbf8789121 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2025-03-10 14:54:31 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2025-03-10 14:56:17 +0000 media-sound/mpg123-base: filter-lto Or at least for now, not really been looked into. Closes: https://bugs.gentoo.org/951124 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> .../{mpg123-base-1.32.10-r1.ebuild => mpg123-base-1.32.10-r2.ebuild} | 2 ++ .../{mpg123-base-1.32.9-r1.ebuild => mpg123-base-1.32.9-r2.ebuild} | 2 ++ 2 files changed, 4 insertions(+)
Note that on my 64-bit multilib system, it only occurs when building 32-bit libraries as well. If I limit the filter-lto to only apply for the 32-bit ABI, the build succeeds. I assume x86 systems have the same issue as USE=abi_x86_32 ones.
*** Bug 951128 has been marked as a duplicate of this bug. ***