Created attachment 881676 [details] build log sys-fs/bcachefs-tools-1.4.0 fails to compile if dev-libs/libsodium is built with USE=minimal If i rebuild dev-libs/libsodium with USE=-minimal, the bcachefs-tools build finishes fine. x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--compress-debug-sections=zstd -Werror=strict-aliasing -march=raptorlake -O2 -flto=auto -pipe -mtls-dialect=gnu2 -Werror=odr -gz=zstd -Werror=lto-type-mismatch -Werror=strict-aliasing -Wa,--compress-debug-sections=zstd -std=gnu11 -MMD -Wall -fPIC -Wno-pointer-sign -Wno-deprecated-declarations -fno-strict-aliasing -fno-delete-null-pointer-checks -I. -Iinclude -Iraid -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LGPL_SOURCE -DRCU_MEMBARRIER -DZSTD_STATIC_LINKING_ONLY -DFUSE_USE_VERSION=35 -DNO_BCACHEFS_CHARDEV -DNO_BCACHEFS_FS -DNO_BCACHEFS_SYSFS -DVERSION_STRING='"1.4.0"' -Wno-unused-but-set-variable -Wno-stringop-overflow -Wno-zero-length-bounds -Wno-missing-braces -Wno-shift-overflow -Wno-enum-conversion -I/usr/include/blkid -I/usr/include/uuid -Wl,--whole-archive libbcachefs.a rust-src/target/release/libbcachefs_rust.a -Wl,--no-whole-archive -lblkid -luuid -lurcu-common -lurcu -lsodium -lz -llz4 -lzstd -ludev -lkeyutils -lm -lpthread -lrt -lkeyutils -laio -ldl -o bcachefs /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/sys-fs/bcachefs-tools-1.4.0/temp/cct0J5y8.ltrans0.ltrans.o: in function `derive_passphrase': <artificial>:(.text+0x18aa): undefined reference to `crypto_pwhash_scryptsalsa208sha256_ll' collect2: error: ld returned 1 exit status make: *** [Makefile:184: bcachefs] Error 1
Portage 3.0.61 (python 3.11.7-final-0, default/linux/amd64/23.0/desktop/plasma/systemd, gcc-13, glibc-2.38-r9, 6.7.0-gentoo x86_64) ================================================================= System uname: Linux-6.7.0-gentoo-x86_64-13th_Gen_Intel-R-_Core-TM-_i5-13600KF-with-glibc2.38 KiB Mem: 16243328 total, 5245468 free KiB Swap: 16242684 total, 16242684 free Timestamp of repository gentoo: Mon, 08 Jan 2024 17:03:19 +0000 Head commit of repository gentoo: b581f58d3294b02ebef253e75f838c15400944b4 Timestamp of repository guru: Mon, 08 Jan 2024 15:03:14 +0000 Head commit of repository guru: db5770e12a38c51de5f7b489fa23d06cfe0bfc9c Timestamp of repository kde: Mon, 08 Jan 2024 14:39:27 +0000 Head commit of repository kde: 6b5a5d35cd2eef180ef3ca0dfb5cee4af3d55002 Timestamp of repository steam-overlay: Mon, 08 Jan 2024 12:20:14 +0000 Head commit of repository steam-overlay: 24afc09d118dd04bfe1e6cc8854023b395fa23db sh bash 5.2_p21-r1 ld GNU ld (Gentoo 2.41 p4) 2.41.0 ccache version 4.9 [disabled] app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p21-r1::gentoo dev-lang/perl: 5.38.2-r1::gentoo dev-lang/python: 3.11.7::gentoo, 3.12.1_p1::gentoo dev-lang/rust: 1.74.1::gentoo dev-util/ccache: 4.9::gentoo dev-util/cmake: 3.28.1-r1::gentoo dev-util/meson: 1.3.1::gentoo sys-apps/baselayout: 2.14-r1::gentoo sys-apps/sandbox: 2.38::gentoo sys-apps/systemd: 255.2-r1::gentoo sys-devel/autoconf: 2.13-r8::gentoo, 2.72-r1::gentoo sys-devel/automake: 1.16.5-r1::gentoo sys-devel/binutils: 2.41-r4::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/clang: 17.0.6::gentoo sys-devel/gcc: 13.2.1_p20240106::gentoo, 14.0.0_pre20240107::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/libtool: 2.4.7-r1::gentoo sys-devel/lld: 17.0.6::gentoo sys-devel/llvm: 17.0.6::gentoo sys-devel/make: 4.4.1-r1::gentoo sys-kernel/linux-headers: 6.6::gentoo (virtual/os-headers) sys-libs/glibc: 2.38-r9::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 volatile: False guru location: /var/db/repos/guru sync-type: git sync-uri: https://github.com/gentoo-mirror/guru.git masters: gentoo volatile: False kde location: /var/db/repos/kde sync-type: git sync-uri: https://github.com/gentoo-mirror/kde.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 Binary Repositories: gentoobinhost priority: 1 sync-uri: https://gentoo.osuosl.org/releases/amd64/binpackages/17.1/x86-64 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=raptorlake -O2 -flto=auto -pipe -mtls-dialect=gnu2 -Werror=odr -gz=zstd -Werror=lto-type-mismatch -Werror=strict-aliasing -Wa,--compress-debug-sections=zstd" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" 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" CXXFLAGS="-march=raptorlake -O2 -flto=auto -pipe -mtls-dialect=gnu2 -Werror=odr -gz=zstd -Werror=lto-type-mismatch -Werror=strict-aliasing -Wa,--compress-debug-sections=zstd" 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=raptorlake -O2 -flto=auto -pipe -mtls-dialect=gnu2 -Werror=odr -gz=zstd -Werror=lto-type-mismatch -Werror=strict-aliasing -Wa,--compress-debug-sections=zstd" 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 multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=raptorlake -O2 -flto=auto -pipe -mtls-dialect=gnu2 -Werror=odr -gz=zstd -Werror=lto-type-mismatch -Werror=strict-aliasing -Wa,--compress-debug-sections=zstd" GENTOO_MIRRORS=" https://mirror.telepoint.bg/gentoo http://tux.rainside.sk/gentoo/ http://gentoo.mirror.root.lu/ ftp://tux.rainside.sk/gentoo/ http://ftp.vectranet.pl/gentoo/ " LANG="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--compress-debug-sections=zstd -Werror=strict-aliasing" LEX="flex" MAKEOPTS="-j20" 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=raptorlake -C opt-level=3 -C link-arg=-Wl,-z,relro -C link-arg=-Wl,-z,now -C link-arg=-Wl,-z,pack-relative-relocs -C link-arg=-Wl,--compress-debug-sections=zstd" SHELL="/bin/bash" USE="X aac acl acpi activities amd64 branding bzip2 cairo cdr crypt dbus declarative dri dvdr encode exif flac flatpak gdbm gif gtk gui hardened iconv icu jpeg kde kf6compat kwallet lcms libnotify libtirpc lzma mad minimal mng mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 readline screencast sdl seccomp sound ssl startup-notification svg systemd test-rust tiff truetype udev udisks unicode upower usb vaapi vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2021" 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="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" 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-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby33" 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, 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
This looks terrifyingly broken. From libsodium: > Only compile the minimum set of functions required for the high-level API > AC_DEFINE([MINIMAL], [1], [Define for a minimal build, without deprecated functions and functions that high-level APIs depend on]) Why is an option like this permitted? It changes ABI rather drastically?
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28aeccd77dfecbcfdc518af471c4df2715b82ac0 commit 28aeccd77dfecbcfdc518af471c4df2715b82ac0 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-15 01:10:33 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:24 +0000 dev-libs/libsodium: add 1.0.19-r2; drop 'minimal' USE The 'minimal' USE drastically changes the ABI for libsodium and all we do with it in portage is variations on 'RDEPEND=dev-libs/libsodium:=[...,-minimal]'. It does not pass the 'sniff test' and should never have been added, this commit corrects the oversight. Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Closes: https://github.com/gentoo/gentoo/pull/34813 Signed-off-by: Sam James <sam@gentoo.org> dev-libs/libsodium/libsodium-1.0.19-r2.ebuild | 73 +++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29c7bd5b49c2dfe02b8c97ffda8592754ff3f7e0 commit 29c7bd5b49c2dfe02b8c97ffda8592754ff3f7e0 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 05:22:17 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:24 +0000 dev-lang/php: add 8.3.0-r2 dev-libs/libsodium is losing USE=minimal Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> dev-lang/php/{php-8.3.0-r1.ebuild => php-8.3.0-r2.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2519d5b825d4a0dabc948ef1f72d2ed1f120f88d commit 2519d5b825d4a0dabc948ef1f72d2ed1f120f88d Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 05:20:35 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:24 +0000 dev-lang/php: add 8.2.13-r2 dev-libs/libsodium is losing USE=minimal Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> dev-lang/php/{php-8.2.13-r1.ebuild => php-8.2.13-r2.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4468ba0548fb497cf12f9b8ebfc285558cfe43f3 commit 4468ba0548fb497cf12f9b8ebfc285558cfe43f3 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 05:19:40 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:23 +0000 dev-lang/php: add 8.1.26-r1 dev-libs/libsodium is losing USE=minimal Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> dev-lang/php/{php-8.1.26.ebuild => php-8.1.26-r1.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dce94ccd70a018bfacb9cc0b2183a497676ddb81 commit dce94ccd70a018bfacb9cc0b2183a497676ddb81 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 05:17:58 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:23 +0000 dev-lang/php: add 8.1.20-r2 dev-libs/libsodium is losing USE=minimal Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> dev-lang/php/{php-8.1.20-r1.ebuild => php-8.1.20-r2.ebuild} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f393bde32385f6a00a2cef7e999b2acae835abb9 commit f393bde32385f6a00a2cef7e999b2acae835abb9 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 05:09:15 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:23 +0000 app-crypt/minisign: add 0.11-r1; update 9999 - dev-libs/libsodium is losing the 'minimal' USE - drop empty IUSE Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> .../minisign/{minisign-0.11.ebuild => minisign-0.11-r1.ebuild} | 6 ++---- app-crypt/minisign/minisign-9999.ebuild | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=978ec32c1916e22869cc2493eb817eaaeb2dbfad commit 978ec32c1916e22869cc2493eb817eaaeb2dbfad Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 04:51:10 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:22 +0000 net-libs/tox: add 0.2.18-r3 libsodium is losing USE=minimal Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> net-libs/tox/{tox-0.2.18-r2.ebuild => tox-0.2.18-r3.ebuild} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2945ca233200533632cbb953881f86d3e3433314 commit 2945ca233200533632cbb953881f86d3e3433314 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2024-01-16 04:47:29 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-01-16 07:59:22 +0000 net-libs/tox: add 0.2.13-r1 libsodium is dropping USE=minimal Bug: https://bugs.gentoo.org/921614 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> net-libs/tox/{tox-0.2.13.ebuild => tox-0.2.13-r1.ebuild} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)