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

chore: update bazel deps #4

Merged
merged 2 commits into from
Jun 2, 2024
Merged

chore: update bazel deps #4

merged 2 commits into from
Jun 2, 2024

Conversation

andrewkatson
Copy link

I noticed these dependencies are out of date

@andrewkatson
Copy link
Author

andrewkatson commented Jun 2, 2024

Also how do I set things to use openssl in my builds. I tried

bazel build --ssl=openssl :target and bazel build :target --ssl=openssl but neither recognized the command option. And the tests work with this module so I am confused why in my build I get stuff like this

  "boost::asio::ssl::error::get_stream_category()", referenced from:
      ___cxx_global_var_init.75 in cryptonote_protocol_handler-base.o
      ___cxx_global_var_init.7 in command_parser_executor.o
      ___cxx_global_var_init.7 in command_server.o
      ___cxx_global_var_init.72 in daemon.o
      ___cxx_global_var_init.72 in executor.o
      ___cxx_global_var_init.72 in main.o
      ___cxx_global_var_init.7 in rpc_command_executor.o
      ...
  "boost::asio::ssl::detail::engine::get_output(boost::asio::mutable_buffer const&)", referenced from:
      unsigned long boost::asio::ssl::detail::io<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>&, boost::asio::ssl::detail::stream_core&, boost::asio::ssl::detail::shutdown_op const&, boost::system::error_code&) in daemon.o
      unsigned long boost::asio::ssl::detail::io<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>&, boost::asio::ssl::detail::stream_core&, boost::asio::ssl::detail::shutdown_op const&, boost::system::error_code&) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffers_1>, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*>, boost::arg<1> (*)(), boost::arg<2> (*)()>>, boost::asio::detail::is_continuation_if_running>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffers_1>, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op, boost::lambda::lambda_functor<boost::lambda::lambda_functor_base<boost::lambda::other_action<boost::lambda::assignment_action>, boost::tuples::tuple<boost::lambda::lambda_functor<boost::lambda::identity<boost::system::error_code&>>, boost::lambda::lambda_functor<boost::lambda::placeholder<1>>, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type>>>>::operator()(boost::system::error_code, unsigned long, int) in rpc_command_executor.o
      ...
  "boost::asio::ssl::detail::engine::native_handle()", referenced from:
      boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>::native_handle() in daemon.o
  "boost::asio::ssl::detail::engine::set_verify_mode(int, boost::system::error_code&)", referenced from:
      boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>::set_verify_mode(int, boost::system::error_code&) in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::detail::engine::set_verify_callback(boost::asio::ssl::detail::verify_callback_base*, boost::system::error_code&)", referenced from:
      boost::system::error_code boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>::set_verify_callback<epee::net_utils::ssl_options_t::handshake(boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>&, boost::asio::ssl::stream_base::handshake_type, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>>) const::$_1>(epee::net_utils::ssl_options_t::handshake(boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>&, boost::asio::ssl::stream_base::handshake_type, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>>) const::$_1, boost::system::error_code&) in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::detail::engine::read(boost::asio::mutable_buffer const&, boost::system::error_code&, unsigned long&)", referenced from:
      boost::asio::ssl::detail::read_op<boost::asio::mutable_buffers_1>::operator()(boost::asio::ssl::detail::engine&, boost::system::error_code&, unsigned long&) const in daemon.o
  "boost::asio::ssl::detail::engine::write(boost::asio::const_buffer const&, boost::system::error_code&, unsigned long&)", referenced from:
      boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>::operator()(boost::asio::ssl::detail::engine&, boost::system::error_code&, unsigned long&) const in daemon.o
  "boost::asio::ssl::detail::engine::shutdown(boost::system::error_code&)", referenced from:
      boost::asio::ssl::detail::shutdown_op::operator()(boost::asio::ssl::detail::engine&, boost::system::error_code&, unsigned long&) const in daemon.o
  "boost::asio::ssl::detail::engine::handshake(boost::asio::ssl::stream_base::handshake_type, boost::system::error_code&)", referenced from:
      boost::asio::ssl::detail::handshake_op::operator()(boost::asio::ssl::detail::engine&, boost::system::error_code&, unsigned long&) const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::detail::engine::put_input(boost::asio::const_buffer const&)", referenced from:
      unsigned long boost::asio::ssl::detail::io<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>&, boost::asio::ssl::detail::stream_core&, boost::asio::ssl::detail::shutdown_op const&, boost::system::error_code&) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffers_1>, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*>, boost::arg<1> (*)(), boost::arg<2> (*)()>>, boost::asio::detail::is_continuation_if_running>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffers_1>, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, boost::_bi::bind_t<void, boost::_mfi::mf2<void, epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>, boost::system::error_code const&, unsigned long>, boost::_bi::list3<boost::_bi::value<epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*>, boost::arg<1> (*)(), boost::arg<2> (*)()>>, boost::asio::detail::is_continuation_if_running>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      ...
  "boost::asio::ssl::detail::engine::engine(ssl_ctx_st*)", referenced from:
      boost::asio::ssl::detail::stream_core::stream_core<boost::asio::any_io_executor>(ssl_ctx_st*, boost::asio::any_io_executor const&) in rpc_command_executor.o
  "boost::asio::ssl::detail::engine::~engine()", referenced from:
      boost::asio::ssl::detail::stream_core::stream_core<boost::asio::any_io_executor>(ssl_ctx_st*, boost::asio::any_io_executor const&) in rpc_command_executor.o
      boost::asio::ssl::detail::stream_core::~stream_core() in rpc_command_executor.o
  "boost::asio::ssl::context::set_options(unsigned long long)", referenced from:
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::native_handle()", referenced from:
      boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>::stream<boost::asio::io_context&>(boost::asio::io_context&, boost::asio::ssl::context&) in rpc_command_executor.o
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
      (anonymous namespace)::load_ca_file(boost::asio::ssl::context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::set_verify_depth(int)", referenced from:
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::use_private_key_file(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, boost::asio::ssl::context_base::file_format)", referenced from:
      epee::net_utils::ssl_authentication_t::use_ssl_certificate(boost::asio::ssl::context&) const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::set_default_verify_paths()", referenced from:
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::use_certificate_chain_file(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
      epee::net_utils::ssl_authentication_t::use_ssl_certificate(boost::asio::ssl::context&) const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::context(boost::asio::ssl::context_base::method)", referenced from:
      epee::net_utils::blocked_mode_client::blocked_mode_client() in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
      epee::net_utils::connection_basic_shared_state::connection_basic_shared_state() in librpc.a[4](core_rpc_server.o)
      epee::net_utils::ssl_options_t::create_context() const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::context::~context()", referenced from:
      epee::net_utils::connection_basic_shared_state::configure_ssl(epee::net_utils::ssl_options_t) in daemon.o
      epee::net_utils::connection_basic_shared_state::configure_ssl(epee::net_utils::ssl_options_t) in daemon.o
      epee::net_utils::blocked_mode_client::blocked_mode_client() in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::~blocked_mode_client() in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
      ...
  "boost::asio::ssl::context::operator=(boost::asio::ssl::context&&)", referenced from:
      epee::net_utils::connection_basic_shared_state::configure_ssl(epee::net_utils::ssl_options_t) in daemon.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
      epee::net_utils::blocked_mode_client::set_ssl(epee::net_utils::ssl_options_t) in rpc_command_executor.o
  "boost::asio::error::get_ssl_category()", referenced from:
      ___cxx_global_var_init.74 in cryptonote_protocol_handler-base.o
      ___cxx_global_var_init.6 in command_parser_executor.o
      ___cxx_global_var_init.6 in command_server.o
      ___cxx_global_var_init.71 in daemon.o
      ___cxx_global_var_init.71 in executor.o
      ___cxx_global_var_init.71 in main.o
      epee::net_utils::blocked_mode_client::shutdown_ssl() in rpc_command_executor.o
      ...
  "boost::asio::ssl::rfc2818_verification::operator()(bool, boost::asio::ssl::verify_context&) const", referenced from:
      epee::net_utils::ssl_options_t::handshake(boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>&, boost::asio::ssl::stream_base::handshake_type, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>>) const::$_1::operator()(bool, boost::asio::ssl::verify_context&) const in libepee.a[15](net_ssl.o)
  "boost::asio::ssl::detail::engine::map_error_code(boost::system::error_code&) const", referenced from:
      unsigned long boost::asio::ssl::detail::io<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>&, boost::asio::ssl::detail::stream_core&, boost::asio::ssl::detail::shutdown_op const&, boost::system::error_code&) in daemon.o
      unsigned long boost::asio::ssl::detail::io<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>&, boost::asio::ssl::detail::stream_core&, boost::asio::ssl::detail::shutdown_op const&, boost::system::error_code&) in daemon.o
      unsigned long boost::asio::ssl::detail::io<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::shutdown_op>(boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>&, boost::asio::ssl::detail::stream_core&, boost::asio::ssl::detail::shutdown_op const&, boost::system::error_code&) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*&, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::write_op<boost::asio::const_buffers_1>, boost::asio::detail::write_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>>, boost::asio::const_buffers_1, boost::asio::const_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::detail::wrapped_handler<boost::asio::io_context::strand, std::__1::__bind<void (epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>::*)(boost::system::error_code const&, unsigned long), epee::net_utils::connection<epee::net_utils::http::http_custom_handler<epee::net_utils::connection_context_base>>*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&>, boost::asio::detail::is_continuation_if_running>>>::operator()(boost::system::error_code, unsigned long, int) in daemon.o
      ...

Which I have only seen with modules that lack srcs. WDYT is missing from my project or this module?

@andrewkatson
Copy link
Author

andrewkatson commented Jun 2, 2024

Found how to request it --@boost.asio//:ssl=openssl now I just need to figure out how to get @boost.asio to see @openssl that I have defined. I did this and @boost.asio cannot see my local openssl module.

bazel_dep(name = "openssl")
local_path_override(
    module_name = "openssl",
    path = "external_openssl",
)

Have we tested the way the boost.asio module ropes in openssl and boringssl?

@zaucy
Copy link
Member

zaucy commented Jun 2, 2024

Found how to request it --@boost.asio//:ssl=openssl now I just need to figure out how to get @boost.asio to see @openssl that I have defined. I did this and @boost.asio cannot see my local openssl module.

What you have should work as long as you have the proper BUILD and MODULE.bazel files in your external openssl. The current openssl usage in this repository is not very sound. It basically assumes you've done some override on your own in the main module.

I'm tempted to remove it until there's some openssl rules or module in the official BCR. It was already requested once here: #3

Apparently there may be ways to improve this situation says one of the BCR maintainers bazelbuild/bazel-central-registry#1666 (comment)

Have we tested the way the boost.asio module ropes in openssl and boringssl

I'm actively using boost.asio with boringssl and I used to have another private project that was using it with openssl which seemed to work at the time.

The CI is configured to use boringssl https://github.com/bazelboost/asio/blob/bazelboost-1.83.0/.github/workflows/bazel.yml#L18 and the way the flag works you can only have ONE selected.

.bazelrc Show resolved Hide resolved
@andrewkatson
Copy link
Author

Found how to request it --@boost.asio//:ssl=openssl now I just need to figure out how to get @boost.asio to see @openssl that I have defined. I did this and @boost.asio cannot see my local openssl module.

What you have should work as long as you have the proper BUILD and MODULE.bazel files in your external openssl.

What did you mean by this? What would proper look like. These are mine.

BUILD.bazel

package(
    default_visibility = ["//visibility:public"],
)

cc_library(
    name = "ssl",
    srcs = select({
        "windows": glob(["**/libssl.a"]),
        "mac": glob(["**/libssl.a"]),
        "linux": glob(["**/libssl.a"]),
    }),
    hdrs = select({
        ":windows": glob(["**/*.h"]),
        "mac": glob(["**/*.h"]),
        "linux": glob(["**/ssl/**/*.h"]),
    }),
    includes = select({
        "windows": [],
        "mac": ["include"],
        "linux": [],
    }),
    linkstatic = True,
)

cc_library(
    name = "libcrypto",
    srcs = select({
        "windows": glob(["**/libcrypto.a"]),
        "mac": glob(["**/libcrypto.a"]),
        "linux": glob(["**/libcrypto.a"]),
    }),
    hdrs =
        select({
            ":windows": glob(["**/*.h"]),
            "mac": glob(["**/*.h"]),
            "linux": glob(["**/crypto/**/*.h"]),
        }),
    includes = select({
        "windows": [],
        "mac": ["include"],
        "linux": [],
    }),
    linkstatic = True,
)

MODULE.bazel

module(
    name = "openssl",
)

Yeah I figured you tested it but just wanted to make sure. Is there anything obviously wrong about my files?

Copy link
Member

@zaucy zaucy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@zaucy
Copy link
Member

zaucy commented Jun 2, 2024

what you have for openssl looks fairly reasonable. You could try linking to your system installed openssl via cc_import.

I dug through my old private repo and I found out I used this BUILD file https://github.com/dropbox/dbx_build_tools/blob/master/thirdparty/openssl/BUILD.openssl by dropbox. It was before bzlmod was a thing though.

@zaucy zaucy changed the title Update dependencies for boost.asio chore: update bazel deps Jun 2, 2024
@zaucy zaucy enabled auto-merge (squash) June 2, 2024 17:30
@andrewkatson
Copy link
Author

andrewkatson commented Jun 2, 2024

Can you link me to the bzlmod version with boringssl? That openssl one looks like pretty similar in terms of target names.

Also when I reference openssl in my project I do @openssl//:ssl so it should work in my mind.

Ill try with the system one if I can't get this working.

@zaucy zaucy merged commit b45229f into bazelboost:bazelboost-1.83.0 Jun 2, 2024
3 checks passed
@andrewkatson
Copy link
Author

andrewkatson commented Jun 2, 2024

I think I figured it out. boringssl is a bazel_dep already in the boost.asio module. So we would need (like you said) a real openssl in the registry. Where is this located bazel_dep(name = "boringssl", version = "0.0.0-20230215-5c22014") maybe we can add it in the same way.

Edit: oh boringssl is already in the bazel central registry.

@andrewkatson
Copy link
Author

@zaucy Will you be doing a new release to the registry for this?

@zaucy
Copy link
Member

zaucy commented Jun 9, 2024

yep! should be in the registry now!

@andrewkatson
Copy link
Author

thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants