I installed ngtcp2 on Openwrt in order to build some small program with QUIC I wrote. But then I found curl will build failed after it finds ngtcp2 in system is usable but doesn't notice there's no nghttp3 in system.
I know I can add --without-ngtcp2 in configure, but I add --without-nghttp3 at the first time and found nothing changed. Then I realized that there's no checking of USE_NGHTTP3 in code.
I think in configure.ac we need to check nghttp3 first then check ngtcp2 maybe?
In file included from quic.h:29,
from urldata.h:142,
from altsvc.c:30:
vquic/ngtcp2.h:30:10: fatal error: nghttp3/nghttp3.h: No such file or directory
#include <nghttp3/nghttp3.h>
^~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:1670: recipe for target 'libcurl_la-altsvc.lo' failed
- make configure show on HTTP3 feature that both ngtcp2 and nghttp3
are in play
- define ENABLE_QUIC only when USE_NGTCP2 and USE_NGHTTP3 are defined
- add USE_NGHTTP3 in the ngtcp2 implementation
- refs curl#10793
It should be "without HTTP, nghttp3 is no use" and "without nghttp3, ngtcp2 is of no use for us", since nghttp3 requires ngtcp2 to work. Do I miss something?
Hi,
I installed ngtcp2 on Openwrt in order to build some small program with QUIC I wrote. But then I found curl will build failed after it finds ngtcp2 in system is usable but doesn't notice there's no nghttp3 in system.
I know I can add
--without-ngtcp2
in configure, but I add--without-nghttp3
at the first time and found nothing changed. Then I realized that there's no checking ofUSE_NGHTTP3
in code.I think in configure.ac we need to check nghttp3 first then check ngtcp2 maybe?
I did this
./configure --target=aarch64-openwrt-linux --host=aarch64-openwrt-linux --build=x86_64-pc-linux-gnu --program-prefix="" --program-suffix="" --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --disable-debug --disable-ares --enable-shared --enable-static --disable-manual --without-nss --without-librtmp --without-libidn --without-ca-path --without-libpsl --without-zstd --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt --enable-ipv6 --without-wolfssl --without-gnutls --with-ssl="/home/chiouss/galaxy-ap/release-655/mt7981/openwrt/staging_dir/target-aarch64-openwrt-linux_musl/usr" --without-mbedtls --without-libidn2 --without-libssh2 --without-zlib --without-zstd --without-nghttp2 --disable-dict --enable-file --enable-ftp --disable-gopher --enable-http --disable-imap --disable-ldap --disable-ldaps --disable-pop3 --disable-rtsp --disable-smb --disable-smtp --disable-telnet --disable-tftp --enable-cookies --disable-crypto-auth --disable-libcurl-option --enable-proxy --enable-threaded-resolver --disable-tls-srp --disable-unix-sockets --enable-verbose
then
make
I expected the following
a success build of curl
curl/libcurl version
7.83.1
operating system
Ubuntu 18.04/Openwrt 21.02
The text was updated successfully, but these errors were encountered: