Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error building curl_quiche.c - undeclared identifier 'ssl_ctx' - MacOS/HTTP3 #11850

Closed
murphye opened this issue Sep 14, 2023 · 3 comments
Closed
Labels
build HTTP/3 h3 or quic related

Comments

@murphye
Copy link

murphye commented Sep 14, 2023

I did this

I am using CloudFlare's HomeBrew script to build a version of curl that includes HTTP3.

curl -O  https://raw.githubusercontent.com/cloudflare/homebrew-cloudflare/master/curl.rb
brew install --HEAD -s curl.rb

I am getting a build error for curl_quiche.c - undeclared identifier 'ssl_ctx'

Here are some of the logs before the error.

libtool: compile:  clang -DHAVE_CONFIG_H -I../include -I../lib -I../lib -DBUILDING_LIBCURL -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability -c vquic/curl_msh3.c -o vquic/libcurl_la-curl_msh3.o >/dev/null 2>&1
libtool: compile:  clang -DHAVE_CONFIG_H -I../include -I../lib -I../lib -DBUILDING_LIBCURL -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability -c vssh/libssh.c  -fno-common -DPIC -o vssh/.libs/libcurl_la-libssh.o
/bin/sh ../libtool  --tag=CC   --mode=compile clang -DHAVE_CONFIG_H   -I../include -I../lib -I../lib -DBUILDING_LIBCURL  -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include  -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability  -c -o vssh/libcurl_la-libssh2.lo `test -f 'vssh/libssh2.c' || echo './'`vssh/libssh2.c
libtool: compile:  clang -DHAVE_CONFIG_H -I../include -I../lib -I../lib -DBUILDING_LIBCURL -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability -c vtls/vtls.c -o vtls/libcurl_la-vtls.o >/dev/null 2>&1
libtool: compile:  clang -DHAVE_CONFIG_H -I../include -I../lib -I../lib -DBUILDING_LIBCURL -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability -c vssh/libssh.c -o vssh/libcurl_la-libssh.o >/dev/null 2>&1
/bin/sh ../libtool  --tag=CC   --mode=compile clang -DHAVE_CONFIG_H   -I../include -I../lib -I../lib -DBUILDING_LIBCURL  -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include  -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability  -c -o vssh/libcurl_la-wolfssh.lo `test -f 'vssh/wolfssh.c' || echo './'`vssh/wolfssh.c
libtool: compile:  clang -DHAVE_CONFIG_H -I../include -I../lib -I../lib -DBUILDING_LIBCURL -DCURL_HIDDEN_SYMBOLS -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/deps/boringssl/src/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/libssh2/1.11.0_1/include -isystem /opt/homebrew/Cellar/openssl@3/3.1.2/include -isystem /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3/include -isystem /opt/homebrew/Cellar/libidn2/2.3.4_1/include -isystem /opt/homebrew/Cellar/libnghttp2/1.56.0/include -isystem /private/tmp/curl-20230913-92722-1jhyq10/quiche/quiche/include -fvisibility=hidden -Qunused-arguments -O2 -Wno-pointer-bool-conversion -Werror=partial-availability -c vtls/x509asn1.c -o vtls/libcurl_la-x509asn1.o >/dev/null 2>&1
vquic/curl_quiche.c:168:42: error: use of undeclared identifier 'ssl_ctx'; did you mean 'select'?
        SSL_CTX_set_default_verify_paths(ssl_ctx);
                                         ^~~~~~~
                                         select
/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/include/sys/_select.h:43:10: note: 'select' declared here
int      select(int, fd_set * __restrict, fd_set * __restrict,
         ^
1 error generated.

I expected the following

The build should have completed successfully with a working version of curl with HTTP/3 support.

curl/libcurl version

curl 8.2.0

operating system

macOS 13.5.2

@murphye
Copy link
Author

murphye commented Sep 14, 2023

I just noticed that there is a PR that may potentially resolve this issue:
#11847

@jay jay closed this as completed in 267e14f Sep 14, 2023
@jay jay added build HTTP/3 h3 or quic related labels Sep 14, 2023
@jay
Copy link
Member

jay commented Sep 14, 2023

Yes it just landed thanks

@junhochoi
Copy link
Contributor

I just noticed that there is a PR that may potentially resolve this issue:

#11847

I found it during homebrew upgrade too. It should solve the issue. Thanks

jay added a commit that referenced this issue Sep 18, 2023
He reported #11850 (quiche build error) but I forgot to add a
'reported-by' entry in the fix 267e14f.
ptitSeb pushed a commit to wasix-org/curl that referenced this issue Sep 25, 2023
- Fix build error when curl is built with --with-quiche
  and --with-ca-fallback.

- Add --with-ca-fallback to the quiche CI job.

Fixes curl#11850
Closes curl#11847
ptitSeb pushed a commit to wasix-org/curl that referenced this issue Sep 25, 2023
He reported curl#11850 (quiche build error) but I forgot to add a
'reported-by' entry in the fix 267e14f.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build HTTP/3 h3 or quic related
Development

No branches or pull requests

3 participants