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 error with recent ngtcp2 #2200

Open
barracuda156 opened this issue Aug 16, 2023 · 4 comments
Open

Build error with recent ngtcp2 #2200

barracuda156 opened this issue Aug 16, 2023 · 4 comments
Labels
bug Something isn't working

Comments

@barracuda156
Copy link

:info:build [ 36%] Building CXX object llarp/CMakeFiles/lokinet-config.dir/config/ini.cpp.o
:info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/build/llarp && /opt/local/bin/g++-mp-12 -DPOSIX -DUNIX -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/crypto/libntrup/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/external/uvw/src -pipe -I/opt/local/libexec/openssl3/include -Os -I/opt/local/include/libfmt10 -I/opt/local/libexec/uvw2/include -DNDEBUG -I/opt/local/libexec/openssl3/include -isystem/opt/local/include/LegacySupport -isystem/opt/local/include -DUVW_AS_LIB -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-function -Werror=vla -Wno-deprecated-declarations -MD -MT llarp/CMakeFiles/lokinet-config.dir/config/ini.cpp.o -MF CMakeFiles/lokinet-config.dir/config/ini.cpp.o.d -o CMakeFiles/lokinet-config.dir/config/ini.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/ini.cpp
:info:build [ 37%] Building CXX object llarp/CMakeFiles/lokinet-dht.dir/dht/explorenetworkjob.cpp.o
:info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/build/llarp && /opt/local/bin/g++-mp-12 -DPOSIX -DUNIX -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/crypto/libntrup/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/external/uvw/src -pipe -I/opt/local/libexec/openssl3/include -Os -I/opt/local/include/libfmt10 -I/opt/local/libexec/uvw2/include -DNDEBUG -I/opt/local/libexec/openssl3/include -isystem/opt/local/include/LegacySupport -isystem/opt/local/include -DUVW_AS_LIB -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-function -Werror=vla -Wno-deprecated-declarations -MD -MT llarp/CMakeFiles/lokinet-dht.dir/dht/explorenetworkjob.cpp.o -MF CMakeFiles/lokinet-dht.dir/dht/explorenetworkjob.cpp.o.d -o CMakeFiles/lokinet-dht.dir/dht/explorenetworkjob.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/dht/explorenetworkjob.cpp
:info:build In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/definition.hpp:3,
:info:build                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/config.hpp:3,
:info:build                  from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/config.cpp:1:
:info:build /opt/local/include/libfmt10/fmt/core.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_value(T&&) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const std::_Bit_reference&]':
:info:build /opt/local/include/libfmt10/fmt/core.h:1711:29:   required from 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; type <anonymous> = fmt::v10::detail::type::custom_type; T = const std::_Bit_reference&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]'
:info:build /opt/local/include/libfmt10/fmt/core.h:1827:77:   required from 'constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const std::_Bit_reference&}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {std::_Bit_reference}]'
:info:build /opt/local/include/libfmt10/fmt/core.h:1844:31:   required from 'constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T&& ...) [with Context = basic_format_context<appender, char>; T = {const std::_Bit_reference&}]'
:info:build /opt/local/include/libfmt10/fmt/core.h:2817:44:   required from 'std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const std::_Bit_reference&}; std::string = std::basic_string<char>; format_string<T ...> = basic_format_string<char, const std::_Bit_reference&>]'
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/definition.hpp:301:41:   required from 'std::vector<std::basic_string<char> > llarp::OptionDefinition<T>::defaultValuesAsString() [with T = bool]'
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/definition.hpp:290:5:   required from here
:info:build /opt/local/include/libfmt10/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
:info:build  1691 |       formattable,
:info:build       |       ^~~~~~~~~~~
:info:build /opt/local/include/libfmt10/fmt/core.h:1691:7: note: 'formattable' evaluates to false
:info:build /opt/local/include/libfmt10/fmt/core.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_value(T&&) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = std::_Bit_reference&]':
:info:build /opt/local/include/libfmt10/fmt/core.h:1711:29:   required from 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; type <anonymous> = fmt::v10::detail::type::custom_type; T = std::_Bit_reference&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]'
:info:build /opt/local/include/libfmt10/fmt/core.h:1827:77:   required from 'constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::_Bit_reference&}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::_Bit_reference}]'
:info:build /opt/local/include/libfmt10/fmt/core.h:1844:31:   required from 'constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T&& ...) [with Context = basic_format_context<appender, char>; T = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::_Bit_reference&}]'
:info:build /opt/local/include/libfmt10/fmt/core.h:2817:44:   required from 'std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::_Bit_reference}; std::string = std::basic_string<char>; format_string<T ...> = basic_format_string<char, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::_Bit_reference>]'
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/definition.hpp:312:24:   required from 'void llarp::OptionDefinition<T>::parseValue(const std::string&) [with T = bool; std::string = std::basic_string<char>]'
:info:build /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/config/definition.hpp:307:5:   required from here
:info:build /opt/local/include/libfmt10/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
:info:build /opt/local/include/libfmt10/fmt/core.h:1691:7: note: 'formattable' evaluates to false
:info:build [ 37%] Building CXX object llarp/CMakeFiles/lokinet-dht.dir/dht/localtaglookup.cpp.o
:info:build cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/build/llarp && /opt/local/bin/g++-mp-12 -DPOSIX -DUNIX -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/crypto/libntrup/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/external/uvw/src -pipe -I/opt/local/libexec/openssl3/include -Os -I/opt/local/include/libfmt10 -I/opt/local/libexec/uvw2/include -DNDEBUG -I/opt/local/libexec/openssl3/include -isystem/opt/local/include/LegacySupport -isystem/opt/local/include -DUVW_AS_LIB -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-function -Werror=vla -Wno-deprecated-declarations -MD -MT llarp/CMakeFiles/lokinet-dht.dir/dht/localtaglookup.cpp.o -MF CMakeFiles/lokinet-dht.dir/dht/localtaglookup.cpp.o.d -o CMakeFiles/lokinet-dht.dir/dht/localtaglookup.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-559fa8aec4f0bdcb6be3eb7d6e77e9982242551f/llarp/dht/localtaglookup.cpp
:info:build make[2]: *** [llarp/CMakeFiles/lokinet-config.dir/config/config.cpp.o] Error 1
:info:build make[2]: *** Waiting for unfinished jobs....
:info:build [ 38%] Building CXX object llarp/CMakeFiles/lokinet-dht.dir/dht/localrouterlookup.cpp.o
@barracuda156 barracuda156 added the bug Something isn't working label Aug 16, 2023
@jagerman
Copy link
Member

This should be addressed by the changes in #2199

@barracuda156
Copy link
Author

@jagerman Thank you for responding!
Building lokinet from the master (and also taking oxen-logging from the latest commit), I get this error now:

[ 53%] Building CXX object llarp/CMakeFiles/lokinet-plainquic.dir/quic/server.cpp.o
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/build/llarp && /opt/local/bin/g++-mp-12 -DPOSIX -DUNIX -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08 -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/crypto/libntrup/include -I/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/external/uvw/src -pipe -I/opt/local/libexec/openssl3/include -Os -I/opt/local/include/libfmt10 -I/opt/local/libexec/uvw2/include -DNDEBUG -I/opt/local/libexec/openssl3/include -isystem/opt/local/include/LegacySupport -isystem/opt/local/include -DUVW_AS_LIB -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -fPIC -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-function -Werror=vla -Wno-deprecated-declarations -MD -MT llarp/CMakeFiles/lokinet-plainquic.dir/quic/server.cpp.o -MF CMakeFiles/lokinet-plainquic.dir/quic/server.cpp.o.d -o CMakeFiles/lokinet-plainquic.dir/quic/server.cpp.o -c /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/server.cpp
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/null_crypto.hpp:3,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/null_crypto.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:327:16: error: 'ngtcp2_crypto_level' has not been declared
  327 |     send_magic(ngtcp2_crypto_level level);
      |                ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:329:27: error: 'ngtcp2_crypto_level' has not been declared
  329 |     send_transport_params(ngtcp2_crypto_level level);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.hpp:4,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/server.hpp:3,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/server.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:327:16: error: 'ngtcp2_crypto_level' has not been declared
  327 |     send_magic(ngtcp2_crypto_level level);
      |                ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:329:27: error: 'ngtcp2_crypto_level' has not been declared
  329 |     send_transport_params(ngtcp2_crypto_level level);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:327:16: error: 'ngtcp2_crypto_level' has not been declared
  327 |     send_magic(ngtcp2_crypto_level level);
      |                ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:329:27: error: 'ngtcp2_crypto_level' has not been declared
  329 |     send_transport_params(ngtcp2_crypto_level level);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.hpp:4,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/client.hpp:3,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/client.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:327:16: error: 'ngtcp2_crypto_level' has not been declared
  327 |     send_magic(ngtcp2_crypto_level level);
      |                ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:329:27: error: 'ngtcp2_crypto_level' has not been declared
  329 |     send_transport_params(ngtcp2_crypto_level level);
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.hpp:4,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp:1:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:327:16: error: 'ngtcp2_crypto_level' has not been declared
  327 |     send_magic(ngtcp2_crypto_level level);
      |                ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:329:27: error: 'ngtcp2_crypto_level' has not been declared
  329 |     send_transport_params(ngtcp2_crypto_level level);
      |                           ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/server.cpp: In member function 'virtual std::shared_ptr<llarp::quic::Connection> llarp::quic::Server::accept_initial_connection(const llarp::quic::Packet&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/server.cpp:45:51: error: request for member 'len' in 'hd.ngtcp2_pkt_hd::token', which is of non-class type 'const uint8_t*' {aka 'const unsigned char*'}
   45 |     if (hd.type == NGTCP2_PKT_INITIAL && hd.token.len)
      |                                                   ^~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:86:9: error: 'ngtcp2_crypto_level' has not been declared
   86 |         ngtcp2_crypto_level crypto_level,
      |         ^~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In function 'int llarp::quic::{anonymous}::recv_crypto_data(ngtcp2_conn*, int, uint64_t, const uint8_t*, size_t, void*)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:98:14: error: 'NGTCP2_CRYPTO_LEVEL_EARLY' was not declared in this scope; did you mean 'NGTCP2_ENCRYPTION_LEVEL_1RTT'?
   98 |         case NGTCP2_CRYPTO_LEVEL_EARLY:
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~
      |              NGTCP2_ENCRYPTION_LEVEL_1RTT
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:103:14: error: 'NGTCP2_CRYPTO_LEVEL_INITIAL' was not declared in this scope; did you mean 'NGTCP2_ENCRYPTION_LEVEL_INITIAL'?
  103 |         case NGTCP2_CRYPTO_LEVEL_INITIAL:
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              NGTCP2_ENCRYPTION_LEVEL_INITIAL
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:117:54: error: 'NGTCP2_CRYPTO_LEVEL_HANDSHAKE' was not declared in this scope; did you mean 'NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE'?
  117 |             if (auto rv = conn.send_transport_params(NGTCP2_CRYPTO_LEVEL_HANDSHAKE); rv != 0)
      |                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                      NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:123:14: error: 'NGTCP2_CRYPTO_LEVEL_HANDSHAKE' was not declared in this scope; did you mean 'NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE'?
  123 |         case NGTCP2_CRYPTO_LEVEL_HANDSHAKE:
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              NGTCP2_ENCRYPTION_LEVEL_HANDSHAKE
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In member function 'std::tuple<ngtcp2_settings, ngtcp2_transport_params, ngtcp2_callbacks> llarp::quic::Connection::init()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:380:27: error: invalid conversion from 'int (*)(ngtcp2_conn*, int, uint64_t, const uint8_t*, size_t, void*)' {aka 'int (*)(ngtcp2_conn*, int, long long unsigned int, const unsigned char*, long unsigned int, void*)'} to 'ngtcp2_recv_crypto_data' {aka 'int (*)(ngtcp2_conn*, ngtcp2_encryption_level, long long unsigned int, const unsigned char*, long unsigned int, void*)'} [-fpermissive]
  380 |     cb.recv_crypto_data = recv_crypto_data;
      |                           ^~~~~~~~~~~~~~~~
      |                           |
      |                           int (*)(ngtcp2_conn*, int, uint64_t, const uint8_t*, size_t, void*) {aka int (*)(ngtcp2_conn*, int, long long unsigned int, const unsigned char*, long unsigned int, void*)}
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:401:14: error: 'using type = using type = struct ngtcp2_settings' {aka 'struct ngtcp2_settings'} has no member named 'max_udp_payload_size'; did you mean 'max_tx_udp_payload_size'?
  401 |     settings.max_udp_payload_size = Endpoint::max_pkt_size_v4;
      |              ^~~~~~~~~~~~~~~~~~~~
      |              max_tx_udp_payload_size
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In member function 'void llarp::quic::Connection::flush_streams()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:722:9: error: 'ngtcp2_conn_stat' was not declared in this scope; did you mean 'ngtcp2_conn_info'?
  722 |         ngtcp2_conn_stat cstat;
      |         ^~~~~~~~~~~~~~~~
      |         ngtcp2_conn_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:723:43: error: 'cstat' was not declared in this scope; did you mean 'stat'?
  723 |         ngtcp2_conn_get_conn_stat(*this, &cstat);
      |                                           ^~~~~
      |                                           stat
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:723:9: error: 'ngtcp2_conn_get_conn_stat' was not declared in this scope; did you mean 'ngtcp2_conn_get_conn_info'?
  723 |         ngtcp2_conn_get_conn_stat(*this, &cstat);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~
      |         ngtcp2_conn_get_conn_info
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In member function 'int llarp::quic::Connection::stream_opened(llarp::quic::StreamID)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:776:34: error: too few arguments to function 'int ngtcp2_conn_shutdown_stream(ngtcp2_conn*, uint32_t, int64_t, uint64_t)'
  776 |       ngtcp2_conn_shutdown_stream(*this, id.id, 1);
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/address.hpp:12,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.hpp:3:
/opt/local/include/ngtcp2/ngtcp2.h:4263:19: note: declared here
 4263 | NGTCP2_EXTERN int ngtcp2_conn_shutdown_stream(ngtcp2_conn *conn, uint32_t flags,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In member function 'int llarp::quic::Connection::init_client()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:947:29: error: 'NGTCP2_CRYPTO_LEVEL_INITIAL' was not declared in this scope; did you mean 'NGTCP2_ENCRYPTION_LEVEL_INITIAL'?
  947 |     if (int rv = send_magic(NGTCP2_CRYPTO_LEVEL_INITIAL); rv != 0)
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                             NGTCP2_ENCRYPTION_LEVEL_INITIAL
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:949:40: error: 'NGTCP2_CRYPTO_LEVEL_INITIAL' was not declared in this scope; did you mean 'NGTCP2_ENCRYPTION_LEVEL_INITIAL'?
  949 |     if (int rv = send_transport_params(NGTCP2_CRYPTO_LEVEL_INITIAL); rv != 0)
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        NGTCP2_ENCRYPTION_LEVEL_INITIAL
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In member function 'void llarp::quic::Connection::complete_handshake()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1000:5: error: 'ngtcp2_conn_handshake_completed' was not declared in this scope; did you mean 'ngtcp2_conn_tls_handshake_completed'?
 1000 |     ngtcp2_conn_handshake_completed(*this);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     ngtcp2_conn_tls_handshake_completed
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: In member function 'int llarp::quic::Connection::recv_transport_params(std::basic_string_view<unsigned char>)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1130:32: error: 'NGTCP2_TRANSPORT_PARAMS_TYPE_CLIENT_HELLO' was not declared in this scope; did you mean 'NGTCP2_TRANSPORT_PARAMS_VERSION'?
 1130 |     auto exttype = is_server ? NGTCP2_TRANSPORT_PARAMS_TYPE_CLIENT_HELLO
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                NGTCP2_TRANSPORT_PARAMS_VERSION
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1131:32: error: 'NGTCP2_TRANSPORT_PARAMS_TYPE_ENCRYPTED_EXTENSIONS' was not declared in this scope
 1131 |                              : NGTCP2_TRANSPORT_PARAMS_TYPE_ENCRYPTED_EXTENSIONS;
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1133:15: error: 'ngtcp2_decode_transport_params' was not declared in this scope; did you mean 'ngtcp2_transport_params'?
 1133 |     auto rv = ngtcp2_decode_transport_params(&params, exttype, data.data(), data.size());
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |               ngtcp2_transport_params
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1139:12: error: 'ngtcp2_conn_set_remote_transport_params' was not declared in this scope; did you mean 'ngtcp2_conn_get_remote_transport_params'?
 1139 |       rv = ngtcp2_conn_set_remote_transport_params(*this, &params);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |            ngtcp2_conn_get_remote_transport_params
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp: At global scope:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1156:3: error: 'int llarp::quic::Connection::send_magic' is not a static data member of 'class llarp::quic::Connection'
 1156 |   Connection::send_magic(ngtcp2_crypto_level level)
      |   ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1156:26: error: 'ngtcp2_crypto_level' was not declared in this scope; did you mean 'ngtcp2_encryption_level'?
 1156 |   Connection::send_magic(ngtcp2_crypto_level level)
      |                          ^~~~~~~~~~~~~~~~~~~
      |                          ngtcp2_encryption_level
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1174:3: error: 'int llarp::quic::Connection::send_transport_params' is not a static data member of 'class llarp::quic::Connection'
 1174 |   Connection::send_transport_params(ngtcp2_crypto_level level)
      |   ^~~~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/connection.cpp:1174:37: error: 'ngtcp2_crypto_level' was not declared in this scope; did you mean 'ngtcp2_encryption_level'?
 1174 |   Connection::send_transport_params(ngtcp2_crypto_level level)
      |                                     ^~~~~~~~~~~~~~~~~~~
      |                                     ngtcp2_encryption_level
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp: In member function 'std::optional<llarp::quic::ConnectionID> llarp::quic::Endpoint::handle_packet_init(const llarp::quic::Packet&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp:103:9: error: cannot convert 'uint32_t*' {aka 'unsigned int*'} to 'ngtcp2_version_cid*'
  103 |         &vi.version,
      |         ^~~~~~~~~~~
      |         |
      |         uint32_t* {aka unsigned int*}
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/address.hpp:12,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.hpp:3:
/opt/local/include/ngtcp2/ngtcp2.h:2223:69: note:   initializing argument 1 of 'int ngtcp2_pkt_decode_version_cid(ngtcp2_version_cid*, const uint8_t*, size_t, size_t)'
 2223 | NGTCP2_EXTERN int ngtcp2_pkt_decode_version_cid(ngtcp2_version_cid *dest,
      |                                                 ~~~~~~~~~~~~~~~~~~~~^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp: In member function 'void llarp::quic::Endpoint::handle_conn_packet(llarp::quic::Connection&, const llarp::quic::Packet&)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp:133:9: error: 'ngtcp2_conn_is_in_closing_period' was not declared in this scope; did you mean 'ngtcp2_conn_in_closing_period'?
  133 |     if (ngtcp2_conn_is_in_closing_period(conn))
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         ngtcp2_conn_in_closing_period
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp: In member function 'void llarp::quic::Endpoint::close_connection(llarp::quic::Connection&, uint64_t, bool, std::string_view)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp:239:45: error: 'ngtcp2_conn_write_application_close_versioned' was not declared in this scope; did you mean 'ngtcp2_conn_write_connection_close_versioned'?
  239 |       auto write_close_func = application ? ngtcp2_conn_write_application_close_versioned
      |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                             ngtcp2_conn_write_connection_close_versioned
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp: In member function 'void llarp::quic::Endpoint::check_timeouts()':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_security_lokinet/lokinet/work/lokinet-178ac1757b1a6e835b9e39561376318c77e5ff08/llarp/quic/endpoint.cpp:321:20: error: 'ngtcp2_conn_get_idle_expiry' was not declared in this scope; did you mean 'ngtcp2_conn_handle_expiry'?
  321 |         auto exp = ngtcp2_conn_get_idle_expiry(conn);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    ngtcp2_conn_handle_expiry
make[2]: *** [llarp/CMakeFiles/lokinet-plainquic.dir/quic/server.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

@jagerman
Copy link
Member

Those are ngtcp2 API changes that need to be updated in lokinet; it currently uses an older version of ngtcp2 in external/ngtcp2. Properly fixing this to build with a more recent version (and proper support for using/linking to a system ngtcp2) should come from the upcoming merge of libquic into Lokinet, but likely isn't a trivial patch.

@jagerman jagerman changed the title Build error with libfmt10: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt Build error with recent ngtcp2 Aug 16, 2023
@barracuda156
Copy link
Author

Apparently not everyone has heard that API compatibility is desirable LOL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants