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

Bug 847451

Summary: net-misc/curl-7.83.1 - configure: error: couldnt use quiche (net-libs/quiche)
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Matt Jolly <kangie>
Status: RESOLVED FIXED    
Severity: normal CC: base-system, leonchik1976, lssndrbarbieri
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/29511
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 847583    
Bug Blocks:    
Attachments: emerge-info.txt
emerge-history.txt
environment
etc.portage.tar.bz2
logs.tar.bz2
net-misc:curl-7.83.1:20220525-150200.log
temp.tar.bz2

Description Toralf Förster gentoo-dev 2022-05-25 15:30:26 UTC
configure: -l is -lquiche 
configure: -I is 
configure: -L is 
checking for quiche_connect in -lquiche... no
configure: error: couldn't use quiche

!!! Please attach the following file when seeking support:

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_desktop_gnome-j4-20220525-110005

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-12.1.1 *
clang/llvm (if any):
/usr/lib/llvm/14
14.0.3
Python 3.9.13
Available Rust versions:
  [1]   rust-1.61.0 *
php cli:

  HEAD of ::gentoo
commit 8053220a811f54dea387ac821084dc14aaaea80c
Author: Repository mirror & CI <repomirrorci@gentoo.org>
Date:   Wed May 25 10:03:11 2022 +0000

    2022-05-25 10:03:11 UTC

emerge -qpvO net-misc/curl
[ebuild   R   ] net-misc/curl-7.83.1  USE="ftp http2 imap ipv6 openssl pop3 progress-meter quiche* smtp ssl tftp -adns -alt-svc -brotli -gnutls -gopher -hsts -idn -kerberos -ldap -mbedtls (-nghttp3) -nss -rtmp -samba -ssh -sslv3 -static-libs -telnet -test -threads -verify-sig -zstd" ABI_X86="(64) -32 (-x32)" CURL_SSL="openssl -gnutls -mbedtls -nss"
Comment 1 Toralf Förster gentoo-dev 2022-05-25 15:30:27 UTC
Created attachment 780758 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2022-05-25 15:30:28 UTC
Created attachment 780761 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2022-05-25 15:30:29 UTC
Created attachment 780764 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2022-05-25 15:30:31 UTC
Created attachment 780767 [details]
etc.portage.tar.bz2
Comment 5 Toralf Förster gentoo-dev 2022-05-25 15:30:32 UTC
Created attachment 780770 [details]
logs.tar.bz2
Comment 6 Toralf Förster gentoo-dev 2022-05-25 15:30:33 UTC
Created attachment 780773 [details]
net-misc:curl-7.83.1:20220525-150200.log
Comment 7 Toralf Förster gentoo-dev 2022-05-25 15:30:34 UTC
Created attachment 780776 [details]
temp.tar.bz2
Comment 8 Klaus Kusche 2022-05-26 12:12:40 UTC
The problem is not in curl, the problem is in quiche,
or more exactly, it seems to be in the build environment of quiche.

Emerging quiche (both 0.13.0 and 0.14.0) succeeds,
but installs a non-functional /usr/lib64/libquiche.so .

libquiche.so lacks a few functions, so loading libquiche.so fails.
nm says:

                 U EVP_HPKE_AEAD_aead
                 U EVP_HPKE_AEAD_id
                 U EVP_hpke_aes_128_gcm
                 U EVP_hpke_aes_256_gcm
                 U EVP_hpke_chacha20_poly1305
                 U EVP_HPKE_CTX_aead
                 U EVP_HPKE_CTX_cleanup
                 U EVP_HPKE_CTX_kdf
                 U EVP_HPKE_CTX_open
                 U EVP_HPKE_CTX_seal
                 U EVP_HPKE_CTX_setup_recipient
                 U EVP_HPKE_CTX_setup_sender
                 U EVP_HPKE_CTX_zero
                 U EVP_hpke_hkdf_sha256
                 U EVP_HPKE_KDF_id
                 U EVP_HPKE_KEM_id
                 U EVP_HPKE_KEY_cleanup
                 U EVP_HPKE_KEY_copy
                 U EVP_HPKE_KEY_kem
                 U EVP_HPKE_KEY_public_key
                 U EVP_HPKE_KEY_zero
                 U EVP_hpke_x25519_hkdf_sha256

The static library libquiche.a contains all these functions,
so I would expect they should be present in the .so lib, too.

However, I had a working version of libquiche.so for quiche 0.13.0 on my system
before, but trying to re-emerge it results in a broken libquiche.so .
So most likely, it is not quiche which broke, but the build environment.
I would guess either rust (1.60.0 ==> 1.61.0-r1) or cmake (3.23.1 ==> 3.23.2).
Comment 9 Larry the Git Cow gentoo-dev 2023-02-16 05:08:46 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c6ec8d4579f9fbb2b3fbfb93de2abb7893cb42f

commit 1c6ec8d4579f9fbb2b3fbfb93de2abb7893cb42f
Author:     Matt Jolly <Matt.Jolly@footclan.ninja>
AuthorDate: 2023-02-09 23:37:40 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-02-16 05:08:27 +0000

    net-misc/curl: add 7.88.0
    
    drop ipv6 and quiche USE
    
    Using quiche requires building cURL with the same SSL flavour
    as the quiche library (i.e. BoringSSL). This is currently
    unsupported on Gentoo.
    
    Drop `ipv6` USE; it doesn't require additional deps and `--ipv4`
    can be used at runtime to force connectivity in dual-stack configurations.
    
    Closes: https://bugs.gentoo.org/881711
    Closes: https://bugs.gentoo.org/792234
    Closes: https://bugs.gentoo.org/847451
    Closes: https://bugs.gentoo.org/867985
    Closes: https://bugs.gentoo.org/835851
    
    Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja>
    Closes: https://github.com/gentoo/gentoo/pull/29511
    Signed-off-by: Sam James <sam@gentoo.org>

 net-misc/curl/Manifest                             |   2 +
 net-misc/curl/curl-7.88.0.ebuild                   | 298 +++++++++++++++++++++
 .../files/curl-7.88.0-test-gnuserv-tls-srp.patch   |  39 +++
 .../curl-7.88.0-test-uninitialised-value.patch     |  30 +++
 4 files changed, 369 insertions(+)