alibaba / xquic

XQUIC Library released by Alibaba is a cross-platform implementation of QUIC and HTTP/3 protocol.
Apache License 2.0
1.7k stars 327 forks source link

[Bug]: unknown type name when building the repository. #298

Closed ArthurCChen closed 1 year ago

ArthurCChen commented 1 year ago

What happened?

unknown type name when building the repository, e.g., error: unknown type name‘SSL_QUIC_METHOD’; did you mean ‘SSL_METHOD’? error: implicit declaration of function ‘SSL_set_quic_early_data_context’; did you mean ‘SSL_set_allow_early_data_cb’?

I've tried 8.3-stable and 8.3.1 of Babassl. Neither works. I didn't find these variables in their source codes either.

Steps To Reproduce

Build the project according to the README, with babassl.

Relevant log output

~/src/xquic2023/xquic/build$ make -j
[  1%] Building C object CMakeFiles/xquic.dir/src/tls/xqc_tls.c.o
[  1%] Building C object CMakeFiles/xquic-static.dir/src/tls/xqc_tls.c.o
[  1%] Building C object CMakeFiles/xquic.dir/src/tls/babassl/xqc_ssl_if.c.o
[  2%] Building C object CMakeFiles/xquic-static.dir/src/tls/babassl/xqc_ssl_if.c.o
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:72:1: error: unknown type name ‘SSL_QUIC_METHOD’; did you mean ‘SSL_METHOD’?
 SSL_QUIC_METHOD xqc_ssl_quic_method;
 ^~~~~~~~~~~~~~~
 SSL_METHOD
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:72:1: error: unknown type name ‘SSL_QUIC_METHOD’; did you mean ‘SSL_METHOD’?
 SSL_QUIC_METHOD xqc_ssl_quic_method;
 ^~~~~~~~~~~~~~~
 SSL_METHOD
/home/yuning/src/xquic2023/xquic/src/tls/babassl/xqc_ssl_if.c: In function ‘xqc_ssl_enable_max_early_data’:
/home/yuning/src/xquic2023/xquic/src/tls/babassl/xqc_ssl_if.c:47:5: error: implicit declaration of function ‘SSL_set_quic_early_data_enabled’; did you mean ‘xqc_ssl_is_early_data_enabled’? [-Werror=implicit-function-declaration]
     SSL_set_quic_early_data_enabled(ssl, 1);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     xqc_ssl_is_early_data_enabled
/home/yuning/src/xquic2023/xquic/src/tls/babassl/xqc_ssl_if.c: In function ‘xqc_ssl_enable_max_early_data’:
/home/yuning/src/xquic2023/xquic/src/tls/babassl/xqc_ssl_if.c:47:5: error: implicit declaration of function ‘SSL_set_quic_early_data_enabled’; did you mean ‘xqc_ssl_is_early_data_enabled’? [-Werror=implicit-function-declaration]
     SSL_set_quic_early_data_enabled(ssl, 1);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     xqc_ssl_is_early_data_enabled
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_init_server_ssl’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:250:5: error: implicit declaration of function ‘SSL_set_quic_early_data_context’; did you mean ‘SSL_set_allow_early_data_cb’? [-Werror=implicit-function-declaration]
     SSL_set_quic_early_data_context(ssl, (const uint8_t *)XQC_EARLY_DATA_CONTEXT,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     SSL_set_allow_early_data_cb
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_init_server_ssl’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:250:5: error: implicit declaration of function ‘SSL_set_quic_early_data_context’; did you mean ‘SSL_set_allow_early_data_cb’? [-Werror=implicit-function-declaration]
     SSL_set_quic_early_data_context(ssl, (const uint8_t *)XQC_EARLY_DATA_CONTEXT,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     SSL_set_allow_early_data_cb
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_create_ssl’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:284:15: error: implicit declaration of function ‘SSL_set_quic_method’; did you mean ‘SSL_set_ssl_method’? [-Werror=implicit-function-declaration]
     ssl_ret = SSL_set_quic_method(ssl, &xqc_ssl_quic_method);
               ^~~~~~~~~~~~~~~~~~~
               SSL_set_ssl_method
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_create_ssl’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:284:15: error: implicit declaration of function ‘SSL_set_quic_method’; did you mean ‘SSL_set_ssl_method’? [-Werror=implicit-function-declaration]
     ssl_ret = SSL_set_quic_method(ssl, &xqc_ssl_quic_method);
               ^~~~~~~~~~~~~~~~~~~
               SSL_set_ssl_method
cc1: all warnings being treated as errors
CMakeFiles/xquic.dir/build.make:1238: recipe for target 'CMakeFiles/xquic.dir/src/tls/babassl/xqc_ssl_if.c.o' failed
make[2]: *** [CMakeFiles/xquic.dir/src/tls/babassl/xqc_ssl_if.c.o] Error 1
make[2]: *** 正在等待未完成的任务....
cc1: all warnings being treated as errors
CMakeFiles/xquic-static.dir/build.make:1238: recipe for target 'CMakeFiles/xquic-static.dir/src/tls/babassl/xqc_ssl_if.c.o' failed
make[2]: *** [CMakeFiles/xquic-static.dir/src/tls/babassl/xqc_ssl_if.c.o] Error 1
make[2]: *** 正在等待未完成的任务....
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:293:15: error: implicit declaration of function ‘SSL_set_quic_transport_params’; did you mean ‘SSL_set_srp_server_param’? [-Werror=implicit-function-declaration]
     ssl_ret = SSL_set_quic_transport_params(tls->ssl, cfg->trans_params, cfg->trans_params_len);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               SSL_set_srp_server_param
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:293:15: error: implicit declaration of function ‘SSL_set_quic_transport_params’; did you mean ‘SSL_set_srp_server_param’? [-Werror=implicit-function-declaration]
     ssl_ret = SSL_set_quic_transport_params(tls->ssl, cfg->trans_params, cfg->trans_params_len);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               SSL_set_srp_server_param
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_process_trans_param’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:363:5: error: implicit declaration of function ‘SSL_get_peer_quic_transport_params’; did you mean ‘SSL_get_peer_cert_chain’? [-Werror=implicit-function-declaration]
     SSL_get_peer_quic_transport_params(tls->ssl, &peer_tp, &tp_len);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     SSL_get_peer_cert_chain
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_process_trans_param’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:363:5: error: implicit declaration of function ‘SSL_get_peer_quic_transport_params’; did you mean ‘SSL_get_peer_cert_chain’? [-Werror=implicit-function-declaration]
     SSL_get_peer_quic_transport_params(tls->ssl, &peer_tp, &tp_len);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     SSL_get_peer_cert_chain
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_init’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:484:5: error: implicit declaration of function ‘SSL_set_quic_use_legacy_codepoint’ [-Werror=implicit-function-declaration]
     SSL_set_quic_use_legacy_codepoint(tls->ssl, tls->version != XQC_VERSION_V1);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_init’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:484:5: error: implicit declaration of function ‘SSL_set_quic_use_legacy_codepoint’ [-Werror=implicit-function-declaration]
     SSL_set_quic_use_legacy_codepoint(tls->ssl, tls->version != XQC_VERSION_V1);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_process_crypto_data’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:543:9: error: implicit declaration of function ‘SSL_provide_quic_data’; did you mean ‘SSL_write_early_data’? [-Werror=implicit-function-declaration]
     if (SSL_provide_quic_data(ssl, (enum ssl_encryption_level_t)level, crypto_data, data_len)
         ^~~~~~~~~~~~~~~~~~~~~
         SSL_write_early_data
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:543:42: error: conversion to incomplete type
     if (SSL_provide_quic_data(ssl, (enum ssl_encryption_level_t)level, crypto_data, data_len)
                                          ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_process_crypto_data’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:543:9: error: implicit declaration of function ‘SSL_provide_quic_data’; did you mean ‘SSL_write_early_data’? [-Werror=implicit-function-declaration]
     if (SSL_provide_quic_data(ssl, (enum ssl_encryption_level_t)level, crypto_data, data_len)
         ^~~~~~~~~~~~~~~~~~~~~
         SSL_write_early_data
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:543:42: error: conversion to incomplete type
     if (SSL_provide_quic_data(ssl, (enum ssl_encryption_level_t)level, crypto_data, data_len)
                                          ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:560:15: error: implicit declaration of function ‘SSL_process_quic_post_handshake’; did you mean ‘SSL_verify_client_post_handshake’? [-Werror=implicit-function-declaration]
         ret = SSL_process_quic_post_handshake(ssl);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               SSL_verify_client_post_handshake
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:560:15: error: implicit declaration of function ‘SSL_process_quic_post_handshake’; did you mean ‘SSL_verify_client_post_handshake’? [-Werror=implicit-function-declaration]
         ret = SSL_process_quic_post_handshake(ssl);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               SSL_verify_client_post_handshake
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: At top level:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1120:40: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_set_read_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                        ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1120:63: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_set_read_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                                               ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: At top level:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1120:40: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_set_read_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                        ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1120:63: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_set_read_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                                               ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_set_read_secret’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1140:18: error: ‘ssl_encryption_application’ undeclared (first use in this function); did you mean ‘ssl_encryption_level_t’?
     if (level == ssl_encryption_application) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                  ssl_encryption_level_t
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1140:18: note: each undeclared identifier is reported only once for each function it appears in
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: At top level:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1163:41: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_set_write_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1163:64: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_set_write_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                                                ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_set_read_secret’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1140:18: error: ‘ssl_encryption_application’ undeclared (first use in this function); did you mean ‘ssl_encryption_level_t’?
     if (level == ssl_encryption_application) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                  ssl_encryption_level_t
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1140:18: note: each undeclared identifier is reported only once for each function it appears in
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: At top level:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1163:41: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_set_write_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1163:64: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_set_write_secret(SSL *ssl, enum ssl_encryption_level_t level,
                                                                ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_set_write_secret’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1183:18: error: ‘ssl_encryption_application’ undeclared (first use in this function); did you mean ‘ssl_encryption_level_t’?
     if (level == ssl_encryption_application) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                  ssl_encryption_level_t
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: At top level:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1205:43: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_add_handshake_data(SSL *ssl, enum ssl_encryption_level_t level,
                                           ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1205:66: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_add_handshake_data(SSL *ssl, enum ssl_encryption_level_t level,
                                                                  ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1230:35: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_send_alert(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert)
                                   ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1230:58: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_send_alert(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert)
                                                          ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: In function ‘xqc_tls_set_write_secret’:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1183:18: error: ‘ssl_encryption_application’ undeclared (first use in this function); did you mean ‘ssl_encryption_level_t’?
     if (level == ssl_encryption_application) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                  ssl_encryption_level_t
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c: At top level:
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1205:43: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_add_handshake_data(SSL *ssl, enum ssl_encryption_level_t level,
                                           ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1205:66: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_add_handshake_data(SSL *ssl, enum ssl_encryption_level_t level,
                                                                  ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1230:35: error: ‘enum ssl_encryption_level_t’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
 xqc_tls_send_alert(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert)
                                   ^~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1230:58: error: parameter 2 (‘level’) has incomplete type
 xqc_tls_send_alert(SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert)
                                                          ^~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1245:1: error: unknown type name ‘SSL_QUIC_METHOD’; did you mean ‘SSL_METHOD’?
 SSL_QUIC_METHOD xqc_ssl_quic_method = {
 ^~~~~~~~~~~~~~~
 SSL_METHOD
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:5: error: field name not in record or union initializer
     .set_read_secret    = xqc_tls_set_read_secret,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: error: initialization makes integer from pointer without a cast [-Werror=int-conversion]
     .set_read_secret    = xqc_tls_set_read_secret,
                           ^~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: error: initializer element is not computable at load time
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:5: error: field name not in record or union initializer
     .set_write_secret   = xqc_tls_set_write_secret,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:27: error: excess elements in scalar initializer [-Werror]
     .set_write_secret   = xqc_tls_set_write_secret,
                           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:5: error: field name not in record or union initializer
     .add_handshake_data = xqc_tls_add_handshake_data,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:27: error: excess elements in scalar initializer [-Werror]
     .add_handshake_data = xqc_tls_add_handshake_data,
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:5: error: field name not in record or union initializer
     .flush_flight       = xqc_tls_flush_flight,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:27: error: excess elements in scalar initializer [-Werror]
     .flush_flight       = xqc_tls_flush_flight,
                           ^~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:5: error: field name not in record or union initializer
     .send_alert         = xqc_tls_send_alert,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:27: error: excess elements in scalar initializer [-Werror]
     .send_alert         = xqc_tls_send_alert,
                           ^~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1245:1: error: unknown type name ‘SSL_QUIC_METHOD’; did you mean ‘SSL_METHOD’?
 SSL_QUIC_METHOD xqc_ssl_quic_method = {
 ^~~~~~~~~~~~~~~
 SSL_METHOD
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:5: error: field name not in record or union initializer
     .set_read_secret    = xqc_tls_set_read_secret,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: error: initialization makes integer from pointer without a cast [-Werror=int-conversion]
     .set_read_secret    = xqc_tls_set_read_secret,
                           ^~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: error: initializer element is not computable at load time
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1246:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:5: error: field name not in record or union initializer
     .set_write_secret   = xqc_tls_set_write_secret,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:27: error: excess elements in scalar initializer [-Werror]
     .set_write_secret   = xqc_tls_set_write_secret,
                           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1247:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:5: error: field name not in record or union initializer
     .add_handshake_data = xqc_tls_add_handshake_data,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:27: error: excess elements in scalar initializer [-Werror]
     .add_handshake_data = xqc_tls_add_handshake_data,
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1248:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:5: error: field name not in record or union initializer
     .flush_flight       = xqc_tls_flush_flight,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:27: error: excess elements in scalar initializer [-Werror]
     .flush_flight       = xqc_tls_flush_flight,
                           ^~~~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1249:27: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:5: error: field name not in record or union initializer
     .send_alert         = xqc_tls_send_alert,
     ^
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:5: note: (near initialization for ‘xqc_ssl_quic_method’)
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:27: error: excess elements in scalar initializer [-Werror]
     .send_alert         = xqc_tls_send_alert,
                           ^~~~~~~~~~~~~~~~~~
/home/yuning/src/xquic2023/xquic/src/tls/xqc_tls.c:1250:27: note: (near initialization for ‘xqc_ssl_quic_method’)
cc1: all warnings being treated as errors
cc1: all warnings being treated as errors
CMakeFiles/xquic.dir/build.make:1166: recipe for target 'CMakeFiles/xquic.dir/src/tls/xqc_tls.c.o' failed
make[2]: *** [CMakeFiles/xquic.dir/src/tls/xqc_tls.c.o] Error 1
CMakeFiles/xquic-static.dir/build.make:1166: recipe for target 'CMakeFiles/xquic-static.dir/src/tls/xqc_tls.c.o' failed
make[2]: *** [CMakeFiles/xquic-static.dir/src/tls/xqc_tls.c.o] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/xquic.dir/all' failed
make[1]: *** [CMakeFiles/xquic.dir/all] Error 2
make[1]: *** 正在等待未完成的任务....
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/xquic-static.dir/all' failed
make[1]: *** [CMakeFiles/xquic-static.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
Kulsk commented 1 year ago

check the definition of SSL_PATH, SSL_LIB_PATH, SSL_INC_PATH. by default, xquic set babassl location as "/usr/local/babassl", you can get these information in CMakelists.txt image