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

Build failure: curl with http3Support enabled #277778

Closed
athre0z opened this issue Dec 30, 2023 · 3 comments · Fixed by #351864
Closed

Build failure: curl with http3Support enabled #277778

athre0z opened this issue Dec 30, 2023 · 3 comments · Fixed by #351864
Labels
0.kind: build failure A package fails to build

Comments

@athre0z
Copy link
Member

athre0z commented Dec 30, 2023

Steps To Reproduce

Steps to reproduce the behavior:

  1. check out nixpkgs @ b0d36bd (latest master as of writing)
  2. nix build --impure --expr 'with import ./. {}; pkgs.curl.override { http3Support = true; }' -L

Build log

curl> In file included from vquic/curl_ngtcp2.c:36:
curl> /nix/store/b4shqdha5xymiz83ibwafgrj894f481j-ngtcp2-1.1.0-dev/include/ngtcp2/ngtcp2_crypto_quictls.h:73:5: error: unknown type name 'OSSL_ENCRYPTION_LEVEL'
curl>    73 |     OSSL_ENCRYPTION_LEVEL ossl_level);
curl>       |     ^~~~~~~~~~~~~~~~~~~~~
curl> /nix/store/b4shqdha5xymiz83ibwafgrj894f481j-ngtcp2-1.1.0-dev/include/ngtcp2/ngtcp2_crypto_quictls.h:82:15: error: unknown type name 'OSSL_ENCRYPTION_LEVEL'
curl>    82 | NGTCP2_EXTERN OSSL_ENCRYPTION_LEVEL
curl>       |               ^~~~~~~~~~~~~~~~~~~~~
curl> vquic/curl_ngtcp2.c: In function 'quic_init_ssl':
curl> vquic/curl_ngtcp2.c:524:3: error: implicit declaration of function 'SSL_set_quic_use_legacy_codepoint' [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-function-declaration-Werror=implicit-function-declaration8;;]
curl>   524 |   SSL_set_quic_use_legacy_codepoint(ctx->ssl, 0);
curl>       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
curl> cc1: some warnings being treated as errors
curl> make[2]: *** [Makefile:3253: vquic/libcurl_la-curl_ngtcp2.lo] Error 1
curl> make[2]: *** Waiting for unfinished jobs....
curl> make[2]: Leaving directory '/build/curl-8.4.0/lib'
curl> make[1]: *** [Makefile:1503: all] Error 2
curl> make[1]: Leaving directory '/build/curl-8.4.0/lib'
curl> make: *** [Makefile:1273: all-recursive] Error 1
error: builder for '/nix/store/hyvn564y6n9mssn7hvzk6lyn6n2cprg6-curl-8.4.0.drv' failed with exit code 2;
       last 10 log lines:
       > vquic/curl_ngtcp2.c:524:3: error: implicit declaration of function 'SSL_set_quic_use_legacy_codepoint' [-Werror=implicit-function-declaration]
       >   524 |   SSL_set_quic_use_legacy_codepoint(ctx->ssl, 0);
       >       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       > cc1: some warnings being treated as errors
       > make[2]: *** [Makefile:3253: vquic/libcurl_la-curl_ngtcp2.lo] Error 1
       > make[2]: *** Waiting for unfinished jobs....
       > make[2]: Leaving directory '/build/curl-8.4.0/lib'
       > make[1]: *** [Makefile:1503: all] Error 2
       > make[1]: Leaving directory '/build/curl-8.4.0/lib'
       > make: *** [Makefile:1273: all-recursive] Error 1
       For full logs, run 'nix log /nix/store/hyvn564y6n9mssn7hvzk6lyn6n2cprg6-curl-8.4.0.drv'.

Notify maintainers

@lovek323

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.69-xanmod1, NixOS, 24.05 (Uakari), 24.05.20231227.cfc3698`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - nixpkgs: `/nix/store/lf2dq57rqn8d03ybrxxi6l8gg27a4av0-source`

Add a 👍 reaction to issues you find important.

@athre0z athre0z added the 0.kind: build failure A package fails to build label Dec 30, 2023
@kirillrdy
Copy link
Member

@athre0z there is curlHTTP3 attribute that builds on master

curlHTTP3 = curl.override {
    openssl = quictls;
    http3Support = true;
  };

@athre0z
Copy link
Member Author

athre0z commented Jan 1, 2024

Ah, that is good to know -- thanks!

I haven't run into cases where a user had to also swap out a dependency for an option to work. Should we add an assert in the curl derivation to produce a meaningful error in this case?

@SuperSandro2000
Copy link
Member

#351864

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: build failure A package fails to build
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants