Created attachment 923162 [details] build.log /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: /var/tmp/portage/app-arch/libarchive-3.7.8/temp/cckFusy6.ltrans2.ltrans.o: in function `lzop_filter_read': <artificial>:(.text.lzop_filter_read+0x1c8): undefined reference to `lzo1x_decompress_safe' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: /var/tmp/portage/app-arch/libarchive-3.7.8/temp/cckFusy6.ltrans8.ltrans.o: in function `archive_write_add_filter_lzop': <artificial>:(.text.archive_write_add_filter_lzop+0x113): undefined reference to `__lzo_init_v2' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.archive_write_add_filter_lzop+0x121): undefined reference to `lzo_version' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.archive_write_add_filter_lzop+0x17f): undefined reference to `lzo_version_string' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: /var/tmp/portage/app-arch/libarchive-3.7.8/temp/cckFusy6.ltrans8.ltrans.o: in function `drive_compressor.lto_priv.3': <artificial>:(.text.drive_compressor.lto_priv.3+0x9b): undefined reference to `lzo1x_999_compress_level' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.drive_compressor.lto_priv.3+0xcc): undefined reference to `lzo_adler32' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.drive_compressor.lto_priv.3+0x166): undefined reference to `lzo1x_1_compress' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.drive_compressor.lto_priv.3+0x20e): undefined reference to `lzo1x_1_15_compress' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.drive_compressor.lto_priv.3+0x241): undefined reference to `lzo_version' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.drive_compressor.lto_priv.3+0x24c): undefined reference to `lzo_version' /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: <artificial>:(.text.drive_compressor.lto_priv.3+0x2af): undefined reference to `lzo_adler32' collect2: error: ld returned 1 exit status Portage 3.0.67 (python 3.12.9-final-0, default/linux/x86/23.0/i686/hardened, gcc-14, glibc-2.41-r1, 6.13.8-gentoo-dist-hardened x86_64) ================================================================= System Settings ================================================================= System uname: Linux-6.13.8-gentoo-dist-hardened-x86_64-12th_Gen_Intel-R-_Core-TM-_i5-1235U-with-glibc2.41 KiB Mem: 11959124 total, 3243384 free KiB Swap: 5979132 total, 5675860 free sh bash 5.2_p37 ld GNU ld (Gentoo 2.44 p1) 2.44.0 app-misc/pax-utils: 1.3.8::gentoo app-shells/bash: 5.2_p37::gentoo dev-build/autoconf: 2.72-r1::gentoo dev-build/automake: 1.17-r1::gentoo dev-build/libtool: 2.5.4::gentoo dev-build/make: 4.4.1-r100::gentoo dev-build/meson: 1.7.0::gentoo dev-lang/perl: 5.40.0-r1::gentoo dev-lang/python: 3.12.9::gentoo, 3.13.2::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.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.41-r1::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://anongit.gentoo.org/git/repo/gentoo.git priority: -1000 volatile: False Binary Repositories: gentoobinhost priority: 1 sync-uri: https://gentoo.osuosl.org/releases/x86/binpackages/23.0/i686_hardened Installed sets: @utils ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="@FREE @FREE" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=native -O2 -pipe -flto=auto -fno-semantic-interposition -ftrivial-auto-var-init=zero -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fdiagnostics-color=always" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d" CXXFLAGS="-march=native -O2 -pipe -flto=auto -fno-semantic-interposition -ftrivial-auto-var-init=zero -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fdiagnostics-color=always" DISTDIR="/var/cache/distfiles" 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 -O2 -pipe -flto=auto -fno-semantic-interposition -ftrivial-auto-var-init=zero -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fdiagnostics-color=always" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance 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 strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=native -O2 -pipe -flto=auto -fno-semantic-interposition -ftrivial-auto-var-init=zero -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fdiagnostics-color=always" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C.UTF8" LD="ld.mold" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" LIBTOOL="rlibtool" MAKE="make LIBTOOL=rlibtool" MAKEFLAGS="LIBTOOL=rlibtool" MAKEOPTS="-j8 -l10" 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 linker=clang -C linker-plugin-lto -C link-arg=-fuse-ld=lld" SHELL="/bin/bash" USE="acl bzip2 crypt dist-kernel gdbm hardened iconv ipv6 libtirpc lto lz4 lzma lzo ncurses nls openmp pam pcre pgo pic pie policykit profile readline seccomp ssl ssp test-rust tpm unicode wayland x86 xattr xml xtpax zlib zstd" ABI_X86="32" 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 rdrand sha sse sse2 sse3 sse4_1 sse4_2 ssse3 vpclmulqdq" 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" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="x86 AMDGPU WebAssembly" 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="intel lavapipe" 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, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LFLAGS, LINGUAS, 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 ================================================================= Package Settings ================================================================= app-arch/libarchive-3.7.8::gentoo was built with the following: USE="acl bzip2 e2fsprogs iconv lz4 lzma xattr zstd -blake2 -expat -lzo -nettle -static-libs -test -verify-sig"
This is a 32-bit bubblewrap chroot and am using slibtool but building lzo and libarchive with or without slibtool doesn't fix it unfortunately
> checking for lzo1x_decompress_safe in -llzo2... no That looks wrong. config.log, plz.
Created attachment 923217 [details] config.log.xz
Here's your answer: configure:17017: checking for lzo1x_decompress_safe in -llzo2 configure:17040: i686-pc-linux-gnu-gcc -o conftest -march=native -O2 -pipe -flto=auto -fno-semantic-interposition -ftrivial-a uto-var-init=zero -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fdiagnostics-color=always -Wl,-O1 -Wl,--as-needed -W l,-z,pack-relative-relocs conftest.c -llzo2 -lzstd -llz4 -lbz2 -lz -llzma >&5 conftest.c:118:6: error: type of 'lzo1x_decompress_safe' does not match original declaration [-Werror=lto-type-mismatch] 118 | char lzo1x_decompress_safe (); | ^ /var/tmp/portage/dev-libs/lzo-2.10/work/lzo-2.10/src/lzo1x_d.ch:38:1: note: return value type mismatch /var/tmp/portage/dev-libs/lzo-2.10/work/lzo-2.10/src/lzo1x_d.ch:38:1: note: type 'int' should match type 'char' /var/tmp/portage/dev-libs/lzo-2.10/work/lzo-2.10/src/lzo1x_d.ch:38:1: note: 'lzo1x_decompress_safe' was previously declared here lto1: some warnings being treated as errors lto-wrapper: fatal error: i686-pc-linux-gnu-gcc returned 1 exit status compilation terminated. /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status configure:17040: $? = 1
Apparently it uses the standard AC_CHECK_LIB, so wtf?
We have a theory that your lzo was built with +static-libs and installed liblzo2.a contains LTO sections, can you confirm that?
(In reply to Alexander Monakov from comment #6) > We have a theory that your lzo was built with +static-libs and installed > liblzo2.a contains LTO sections, can you confirm that? Nope localhost ~ # emerge -pvO lzo These are the packages that would be merged, in order: [ebuild R ] dev-libs/lzo-2.10:2::gentoo USE="-examples (-split-usr) -static-libs" 0 KiB Total: 1 package (1 reinstall), Size of downloads: 0 KiB I will note that this is a 32-bit bubblewrap chroot (more like a container I guess)
Would you mind double-checking if liblzo2.a is really not present in the filesystem?
It is present localhost ~ # find / -iname "liblzo2.a" /usr/lib/liblzo2.a
(In reply to Michał Górny from comment #4) > Here's your answer: > > > configure:17017: checking for lzo1x_decompress_safe in -llzo2 > configure:17040: i686-pc-linux-gnu-gcc -o conftest -march=native -O2 -pipe > -flto=auto -fno-semantic-interposition -ftrivial-a > uto-var-init=zero -Werror=odr -Werror=lto-type-mismatch > -Werror=strict-aliasing -fdiagnostics-color=always -Wl,-O1 -Wl,--as-needed > -W > l,-z,pack-relative-relocs conftest.c -llzo2 -lzstd -llz4 -lbz2 -lz -llzma > >&5 > conftest.c:118:6: error: type of 'lzo1x_decompress_safe' does not match > original declaration [-Werror=lto-type-mismatch] > 118 | char lzo1x_decompress_safe (); > | ^ > /var/tmp/portage/dev-libs/lzo-2.10/work/lzo-2.10/src/lzo1x_d.ch:38:1: note: > return value type mismatch > /var/tmp/portage/dev-libs/lzo-2.10/work/lzo-2.10/src/lzo1x_d.ch:38:1: note: > type 'int' should match type 'char' > /var/tmp/portage/dev-libs/lzo-2.10/work/lzo-2.10/src/lzo1x_d.ch:38:1: note: > 'lzo1x_decompress_safe' was previously declared here > lto1: some warnings being treated as errors > lto-wrapper: fatal error: i686-pc-linux-gnu-gcc returned 1 exit status > compilation terminated. > /usr/lib/gcc/i686-pc-linux-gnu/14/../../../../i686-pc-linux-gnu/bin/ld: > error: lto-wrapper failed > collect2: error: ld returned 1 exit status > configure:17040: $? = 1 Removing -flto lets it compile fine
(In reply to zyxhere from comment #9) > It is present > localhost ~ # find / -iname "liblzo2.a" > /usr/lib/liblzo2.a That is quite weird. Could you rebuild dev-libs/lzo and confirm whether it is installing that file? Or perhaps it is an orphan file on your system?
(In reply to Michał Górny from comment #11) > (In reply to zyxhere from comment #9) > > It is present > > localhost ~ # find / -iname "liblzo2.a" > > /usr/lib/liblzo2.a > > That is quite weird. Could you rebuild dev-libs/lzo and confirm whether it > is installing that file? Or perhaps it is an orphan file on your system? Yes its installing it: >>> Installing (1 of 1) dev-libs/lzo-2.10::gentoo * checking 21 files for package collisions >>> Merging dev-libs/lzo-2.10 to / --- /usr/ --- /usr/include/ --- /usr/include/lzo/ === /usr/include/lzo/lzoutil.h === /usr/include/lzo/lzodefs.h === /usr/include/lzo/lzoconf.h === /usr/include/lzo/lzo_asm.h === /usr/include/lzo/lzo2a.h === /usr/include/lzo/lzo1z.h === /usr/include/lzo/lzo1y.h === /usr/include/lzo/lzo1x.h === /usr/include/lzo/lzo1f.h === /usr/include/lzo/lzo1c.h === /usr/include/lzo/lzo1b.h === /usr/include/lzo/lzo1a.h === /usr/include/lzo/lzo1.h --- /usr/share/ --- /usr/share/doc/ --- /usr/share/doc/lzo-2.10/ === /usr/share/doc/lzo-2.10/LZO.TXT.bz2 === /usr/share/doc/lzo-2.10/LZOAPI.TXT.bz2 === /usr/share/doc/lzo-2.10/LZO.FAQ.bz2 === /usr/share/doc/lzo-2.10/THANKS.bz2 === /usr/share/doc/lzo-2.10/NEWS.bz2 === /usr/share/doc/lzo-2.10/AUTHORS --- /usr/lib/ >>> /usr/lib/liblzo2.a --- /usr/lib/pkgconfig/ === /usr/lib/pkgconfig/lzo2.pc >>> Safely unmerging already-installed instance... --- replaced obj /usr/share/doc/lzo-2.10/THANKS.bz2 --- replaced obj /usr/share/doc/lzo-2.10/NEWS.bz2 --- replaced obj /usr/share/doc/lzo-2.10/LZOAPI.TXT.bz2 --- replaced obj /usr/share/doc/lzo-2.10/LZO.TXT.bz2 --- replaced obj /usr/share/doc/lzo-2.10/LZO.FAQ.bz2 --- replaced obj /usr/share/doc/lzo-2.10/AUTHORS --- replaced dir /usr/share/doc/lzo-2.10 --- replaced dir /usr/share/doc --- replaced dir /usr/share --- replaced obj /usr/lib/pkgconfig/lzo2.pc --- replaced dir /usr/lib/pkgconfig --- replaced obj /usr/lib/liblzo2.a --- replaced dir /usr/lib --- replaced obj /usr/include/lzo/lzoutil.h --- replaced obj /usr/include/lzo/lzodefs.h --- replaced obj /usr/include/lzo/lzoconf.h --- replaced obj /usr/include/lzo/lzo_asm.h --- replaced obj /usr/include/lzo/lzo2a.h --- replaced obj /usr/include/lzo/lzo1z.h --- replaced obj /usr/include/lzo/lzo1y.h --- replaced obj /usr/include/lzo/lzo1x.h --- replaced obj /usr/include/lzo/lzo1f.h --- replaced obj /usr/include/lzo/lzo1c.h --- replaced obj /usr/include/lzo/lzo1b.h --- replaced obj /usr/include/lzo/lzo1a.h --- replaced obj /usr/include/lzo/lzo1.h --- replaced dir /usr/include/lzo --- replaced dir /usr/include --- replaced dir /usr >>> Regenerating /etc/ld.so.cache... >>> Original instance of package unmerged safely. >>> dev-libs/lzo-2.10 merged. >>> Regenerating /etc/ld.so.cache... >>> Completed (1 of 1) dev-libs/lzo-2.10::gentoo
Could you include the log for dev-libs/lzo, please? As you can guess, it doesn't do that for me. You can also try if removing lto from lzo makes it stop installing the static library.
Created attachment 923235 [details] dev-libs:lzo-2.10:20250329-093609.log There are two logs in /var/log/portage so I only attached the bigger one
(In reply to Michał Górny from comment #13) > Could you include the log for dev-libs/lzo, please? As you can guess, it > doesn't do that for me. > > You can also try if removing lto from lzo makes it stop installing the > static library. Without lto /usr/lib/liblzo2.a is still installed
Something is seriously broken here: > checking whether the i686-pc-linux-gnu-gcc linker (ld.mold) supports shared libraries... no > checking dynamic linker characteristics... GNU/Linux ld.so > checking how to hardcode library paths into programs... unsupported > checking whether stripping libraries is possible... yes > checking if libtool supports shared libraries... no config.log may help. You also want to try with GNU ld.
(In reply to Michał Górny from comment #16) > Something is seriously broken here: > > > checking whether the i686-pc-linux-gnu-gcc linker (ld.mold) supports shared libraries... no > > checking dynamic linker characteristics... GNU/Linux ld.so > > checking how to hardcode library paths into programs... unsupported > > checking whether stripping libraries is possible... yes > > checking if libtool supports shared libraries... no > > config.log may help. You also want to try with GNU ld. Wait hold on a sec I don't have mold installed (yet) I forgot I had LD="ld.mold" in make.conf
(In reply to zyxhere from comment #17) > (In reply to Michał Górny from comment #16) > > Something is seriously broken here: > > > > > checking whether the i686-pc-linux-gnu-gcc linker (ld.mold) supports shared libraries... no > > > checking dynamic linker characteristics... GNU/Linux ld.so > > > checking how to hardcode library paths into programs... unsupported > > > checking whether stripping libraries is possible... yes > > > checking if libtool supports shared libraries... no > > > > config.log may help. You also want to try with GNU ld. > > Wait hold on a sec I don't have mold installed (yet) I forgot I had > LD="ld.mold" in make.conf Oof yea it compiled fine now even with LTO, sorry for the newbie mistake