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
nghttp2 Build Failure #1634
Comments
I'm not a contributor but came across your issue, below I think might help you to resolve the issue. Firstly, I advise to install latest openssl perhaps 1.1.1l or 3.0.0 release, if latest 3.0.0 was installed, note it will require changing deprecated or updated references to methods such as SSL_CTX_set1_curves_list to SSL_CTX_set1_groups_list in some instances during compilation when it fails and returns the files where the error takes place. To install openssl beside your current openssl installation, then set the new installation directory local and in nghttp2 configure point to it by adding the parameter option of --with-openssl=/usr/local/openssl/bin/openssl Also adding D preceding to all nghttp2 referencing yet failed functions will resolve it, so far I came across following files src/shrpx_tls.cc and src/nghttp.cc, src/HttpServer.cc, src/h2load.cc, examples/libevent-client.c, examples/client.c, examples/libevent-server.c, and resolve it like so with DTLS_client_method and DTLS_server_method. If needed details on how to install local openssl beside OS default one, let me know, I might be able to help. With thanks. |
@InputOutputZ I installed openssl 1.1.1q in local directory and made the changes as suggested by you. But I get this error when I run h2load. Any insights ?
|
Please post the full error output and at which stage it was returned? Was it compiling or running and how do you run it? I tested this with openssl 3.1, perhaps you might need to give it a go. |
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
I'm attempting to build nghttp2-1.47.0 but keeps failing on ubuntu 18.04
OpenSSL 1.0.2k 26 Jan 2017
`make all-recursive
make[1]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0”
Making all in lib
make[2]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/lib”
Making all in includes
make[3]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/lib/includes”
make[3]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/lib/includes”
make[3]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/lib”
CC nghttp2_pq.lo
CC nghttp2_map.lo
CC nghttp2_queue.lo
CC nghttp2_frame.lo
CC nghttp2_buf.lo
CC nghttp2_stream.lo
CC nghttp2_outbound_item.lo
CC nghttp2_session.lo
CC nghttp2_submit.lo
CC nghttp2_helper.lo
CC nghttp2_npn.lo
CC nghttp2_hd.lo
CC nghttp2_hd_huffman.lo
CC nghttp2_hd_huffman_data.lo
CC nghttp2_version.lo
CC nghttp2_priority_spec.lo
CC nghttp2_option.lo
CC nghttp2_callbacks.lo
CC nghttp2_mem.lo
CC nghttp2_http.lo
CC nghttp2_rcbuf.lo
CC nghttp2_debug.lo
CCLD libnghttp2.la
make[3]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/lib”
make[2]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/lib”
Making all in third-party
make[2]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/third-party”
CC url-parser/url_parser.lo
CCLD liburl-parser.la
CC llhttp/src/libllhttp_la-api.lo
CC llhttp/src/libllhttp_la-http.lo
CC llhttp/src/libllhttp_la-llhttp.lo
CCLD libllhttp.la
make[2]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/third-party”
Making all in src
make[2]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/src”
Making all in includes
make[3]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/src/includes”
make[3]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/src/includes”
make[3]: Entering directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/src”
CXX util.o
CXX http2.o
CC timegm.o
CXX app_helper.o
CC nghttp2_gzip.o
CXX nghttp.o
In file included from nghttp.cc:60:0:
tls.h:75:42: error: ‘TLS1_2_VERSION’ was not declared in this scope
constexpr auto NGHTTP2_TLS_MAX_VERSION = TLS1_2_VERSION;
^~~~~~~~~~~~~~
tls.h:75:42: note: suggested alternative: ‘TLS1_VERSION’
constexpr auto NGHTTP2_TLS_MAX_VERSION = TLS1_2_VERSION;
^~~~~~~~~~~~~~
TLS1_VERSION
nghttp.cc: In member function ‘int nghttp2::HttpClient::connection_made()’:
nghttp.cc:1107:5: error: ‘SSL_get0_next_proto_negotiated’ was not declared in this scope
SSL_get0_next_proto_negotiated(ssl, &next_proto, &next_proto_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nghttp.cc:1107:5: note: suggested alternative: ‘BIO_get_num_renegotiates’
SSL_get0_next_proto_negotiated(ssl, &next_proto, &next_proto_len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BIO_get_num_renegotiates
nghttp.cc: In function ‘int nghttp2::{anonymous}::communicate(const string&, const string&, uint16_t, std::vector<std::tuple<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, nghttp2_data_provider*, long int, int> >, const nghttp2_session_callbacks*)’:
nghttp.cc:2271:27: error: ‘TLS_client_method’ was not declared in this scope
ssl_ctx = SSL_CTX_new(TLS_client_method());
^~~~~~~~~~~~~~~~~
nghttp.cc:2271:27: note: suggested alternative: ‘TLSv1_client_method’
ssl_ctx = SSL_CTX_new(TLS_client_method());
^~~~~~~~~~~~~~~~~
TLSv1_client_method
nghttp.cc:2325:5: error: ‘SSL_CTX_set_next_proto_select_cb’ was not declared in this scope
SSL_CTX_set_next_proto_select_cb(ssl_ctx, client_select_next_proto_cb,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nghttp.cc:2325:5: note: suggested alternative: ‘SSL_CTX_set_client_cert_cb’
SSL_CTX_set_next_proto_select_cb(ssl_ctx, client_select_next_proto_cb,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SSL_CTX_set_client_cert_cb
Makefile:1718: recipe for target 'nghttp.o' failed
make[3]: *** [nghttp.o] Error 1
make[3]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/src”
Makefile:2860: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0/src”
Makefile:589: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory“/home/xbt/Desktop/360SYSTEM/Codes/360Dash-client-ctrl-no-push/nghttp2-1.46.0”
Makefile:498: recipe for target 'all' failed
make: *** [all] Error 2`
The text was updated successfully, but these errors were encountered: