net-misc/curl fails to build with: USE="-openssl -curl_ssl_openssl gnutls curl_ssl_gnutls nghttp3" emerge -av net-misc/curl but builds with USE="-openssl -curl_ssl_openssl gnutls curl_ssl_gnutls nghttp3" emerge -av net-misc/curl Failure: work/curl-8.2.1/lib/vquic/curl_ngtcp2.c:36:10: fatal error: ngtcp2/ngtcp2_crypto_quictls.h: No such file or directory Reproducible: Always
Uh, it builds with: USE="-openssl -curl_ssl_openssl gnutls curl_ssl_gnutls nghttp3" emerge -av net-misc/curl and fails with USE="openssl -curl_ssl_openssl gnutls curl_ssl_gnutls nghttp3" emerge -av net-misc/curl
Please attach your build log and emerge --info
Created attachment 867571 [details] build.log
Created attachment 867572 [details] emerge --info
Created attachment 867573 [details] #curl IRC log bagder believes that it's an ngtcp2 problem not a curl problem
Does it work with openssl enabled and gnutls disabled?
(In reply to Mike Gilbert from comment #6) > Does it work with openssl enabled and gnutls disabled? That's an impossible situation right now; nghttp3 requires quic / TCP/2 which is not currently available via openssl (some support coming for 3.2.0 but we're not expecting it to be available to things that link against it, only internally). While cURL can be built to support (and upstream supports building with) multiple TLS impls at the same time, the ebuild needs to select the default impl (USE=`curl_ssl_x`) and any additional impls (USE=`openssl gnutls rustls`). This bug is for a situation where with USE=nghttp3 we can't build with both the gnutls and openssl impls enabled. Very little troubleshooting performed at this stage (not even validated building from source); it'll be a month or so before my hands are recovered enough to dig into it properly if someone wants to take a proper look.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=566352d9426fc62acb54fa0000f3ff66e310ed86 commit 566352d9426fc62acb54fa0000f3ff66e310ed86 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2023-08-10 13:24:47 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-08-15 05:16:47 +0000 net-misc/curl: make openssl and nghttp3 mutually exclusive Bug: https://bugs.gentoo.org/912029 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Signed-off-by: Sam James <sam@gentoo.org> net-misc/curl/curl-8.2.1.ebuild | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
can repro using current HEAD of curl/curl outside of portage; not a "gentoo" issue.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6ec58af73546948642a4239300bfe22b4953113 commit b6ec58af73546948642a4239300bfe22b4953113 Author: Matt Jolly <Matt.Jolly@footclan.ninja> AuthorDate: 2023-09-18 08:54:25 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-09-18 09:01:05 +0000 net-misc/curl: make openssl and nghttp3 mutually exclusive (again) This was applied for 8.2.1 but the live ebuild template was missed so we get to play the game again for 8.3.0! Bug: https://bugs.gentoo.org/912029 Closes: https://bugs.gentoo.org/914277 Signed-off-by: Matt Jolly <Matt.Jolly@footclan.ninja> Closes: https://github.com/gentoo/gentoo/pull/32894 Signed-off-by: Sam James <sam@gentoo.org> net-misc/curl/curl-8.3.0.ebuild | 2 ++ net-misc/curl/curl-9999.ebuild | 2 ++ 2 files changed, 4 insertions(+)