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
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
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