too long lines were shrinked: x86_64-pc-linux-gnu-gcc -Isrc/shared/libsystemd-shared-253.a.p -Isrc/shared -I../systemd-253/src/shared -Isrc/basic -I../systemd-253/src/basic -Isrc/fundamental -I../systemd-253/src/fundamental -Isrc/systemd -I../systemd-253/src/systemd -I. -I../systemd-253 -I../systemd-253/src/libsystemd/sd-bus -I. ../systemd-253/src/shared/cryptsetup-fido2.c: In function acquire_fido2_key_auto: ../systemd-253/src/shared/cryptsetup-fido2.c:153:37: error: implicit declaration of function sym_crypt_token_max [-Werror=implicit-function-declaration] 153 | for (int token = 0; token < sym_crypt_token_max(CRYPT_LUKS2); token ++) { | ^~~~~~~~~~~~~~~~~~~ ../systemd-253/src/shared/cryptsetup-fido2.c:153:37: warning: nested extern declaration of sym_crypt_token_max [-Wnested-externs] ../systemd-253/src/shared/cryptsetup-fido2.c:153:57: error: CRYPT_LUKS2 undeclared (first use in this function) 153 | for (int token = 0; token < sym_crypt_token_max(CRYPT_LUKS2); token ++) { | ^~~~~~~~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_systemd_merged_usr-j4-20230322-200006 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-13 * clang/llvm (if any): Python 3.10.10 Available Rust versions: [1] rust-bin-1.68.0 * php cli (if any): HEAD of ::gentoo commit 4fc0cfeffd38963119156190f5291def9cfb6b4f Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Wed Mar 22 17:16:55 2023 +0000 2023-03-22 17:16:55 UTC emerge -qpvO sys-apps/systemd [ebuild U ] sys-apps/systemd-253-r1 [252.7] USE="acl apparmor* audit* cgroup-hybrid* curl* dns-over-tls elfutils* fido2* gcrypt http* iptables* kmod lz4 lzma* openssl pam pcre pkcs11* policykit* resolvconf seccomp sysv-utils xkb* zstd -cryptsetup -gnuefi -gnutls -homed -idn -importd -pwquality -qrcode (-selinux) (-split-usr) -test -tpm -vanilla" ABI_X86="(64) -32 (-x32)"
Created attachment 858711 [details] emerge-info.txt
Created attachment 858713 [details] emerge-history.txt
Created attachment 858715 [details] environment
Created attachment 858717 [details] etc.portage.tar.bz2
Created attachment 858719 [details] logs.tar.bz2
Created attachment 858721 [details] sys-apps:systemd-253-r1:20230323-004952.log.bz2
Created attachment 858723 [details] temp.tar.bz2
Adding use dep cryptsetup on fido2 will solve the problem.
I'm not sure whether USE="fido2 -cryptsetup" actually makes sense, but I have a system with libfido2 but no libcryptsetup and upstream's default build (./configure && make) fails as, as 253 makes one part implicitly dependent on the other in https://github.com/systemd/systemd/commit/0a8e026e825dda142a8f1552a4b45815cbfd0b48. I reported this as https://github.com/systemd/systemd/issues/27374
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3b80d0103479e526f6eda5e45bc7d0ba82d22e5 commit c3b80d0103479e526f6eda5e45bc7d0ba82d22e5 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2023-04-24 15:15:05 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2023-04-24 15:15:05 +0000 sys-apps/systemd: REQUIRED_USE="fido2? ( cryptsetup )" Closes: https://bugs.gentoo.org/902831 Signed-off-by: Mike Gilbert <floppym@gentoo.org> sys-apps/systemd/systemd-252.7.ebuild | 2 +- sys-apps/systemd/systemd-253.3.ebuild | 2 +- sys-apps/systemd/systemd-9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
This is now fixed upstream and the REQUIRED_USE constraint is not essentially required for future releases. Upstream did not want to make the two configurations options dependent on each other in their build system.
I'll keep the required use constraint anyway since it makes the dependencies easier to express.