oxen-io / lokinet

Lokinet is an anonymous, decentralized and IP based overlay network for the internet.
https://lokinet.org/
GNU General Public License v3.0
1.77k stars 220 forks source link

Build error with recent ngtcp2 #2200

Closed barracuda156 closed 1 week ago

barracuda156 commented 1 year ago
: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
jagerman commented 1 year ago

This should be addressed by the changes in #2199

barracuda156 commented 1 year ago

@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 commented 1 year ago

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.

barracuda156 commented 1 year ago

Apparently not everyone has heard that API compatibility is desirable LOL

barracuda156 commented 1 week ago

@dr7ana Has this been fixed?

dr7ana commented 1 week ago

@barracuda156 it is irrelevant with the ongoing rewrite! All dependencies are up to date 👍🏽

dr7ana commented 1 week ago

@barracuda156 see the quic-wip branch for the recent merges. It’s still very under “wip” but will have some exciting details on the next monthly session lab update