Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 902831

Summary: sys-apps/systemd-253-r1 - ../.../cryptsetup-fido2.c: error: CRYPT_LUKS2 undeclared (first use in this function)
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Gentoo systemd Team <systemd>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge-info.txt
emerge-history.txt
environment
etc.portage.tar.bz2
logs.tar.bz2
sys-apps:systemd-253-r1:20230323-004952.log.bz2
temp.tar.bz2

Description Toralf Förster gentoo-dev 2023-03-23 18:05:43 UTC
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)"
Comment 1 Toralf Förster gentoo-dev 2023-03-23 18:05:44 UTC
Created attachment 858711 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2023-03-23 18:05:45 UTC
Created attachment 858713 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2023-03-23 18:05:47 UTC
Created attachment 858715 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2023-03-23 18:05:48 UTC
Created attachment 858717 [details]
etc.portage.tar.bz2
Comment 5 Toralf Förster gentoo-dev 2023-03-23 18:05:49 UTC
Created attachment 858719 [details]
logs.tar.bz2
Comment 6 Toralf Förster gentoo-dev 2023-03-23 18:05:51 UTC
Created attachment 858721 [details]
sys-apps:systemd-253-r1:20230323-004952.log.bz2
Comment 7 Toralf Förster gentoo-dev 2023-03-23 18:05:52 UTC
Created attachment 858723 [details]
temp.tar.bz2
Comment 8 Maciej Mrozowski gentoo-dev 2023-04-23 12:48:41 UTC
Adding use dep cryptsetup on fido2 will solve the problem.
Comment 9 Wolfgang Müller 2023-04-24 09:50:07 UTC
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
Comment 10 Larry the Git Cow gentoo-dev 2023-04-24 15:16:23 UTC
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(-)
Comment 11 Wolfgang Müller 2023-04-25 08:06:33 UTC
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.
Comment 12 Mike Gilbert gentoo-dev 2023-04-25 21:52:09 UTC
I'll keep the required use constraint anyway since it makes the dependencies easier to express.