community icon indicating copy to clipboard operation
community copied to clipboard

Boost ASIO and OpenSSL version

Open macumber opened this issue 6 years ago • 5 comments

Package and Environment Details (include every applicable attribute)

  • Package Name/Version: boost_log/1.69.0 boost_asio/1.69.0
  • Operating System+version: Windows 10
  • Compiler+version: Visual Studio 2017
  • Conan version: Conan 1.11.0
  • Python version: Python 3.7.0

Question Description

I am new to conan and it is going pretty well so far. However, I am having trouble with boost asio. I am trying to build with OpenSSL/1.1.0i and have listed this in my conan_cmake_run REQUIRES. I am trying to coordinate OpenSSL versions across boost, cpprest, and a custom build of Ruby (not yet built with conan). I am using boost log, which depends on boost asio, which appears to use a different version of OpenSSL. This is resulting in errors like:

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2019	unresolved external symbol CRYPTO_cleanup_all_ex_data referenced in function "private: virtual void __cdecl std::_Ref_count<class boost::asio::ssl::detail::openssl_init_base::do_init>::_Destroy(void)" (?_Destroy@?$_Ref_count@Vdo_init@openssl_init_base@detail@ssl@asio@boost@@@std@@EEAAXXZ)	openstudio_utilities_static_tests	D:\openstudio_refactor2\build-release\src\utilities\cpprest141_2_10.lib(http_client_winhttp.obj)	1	

I don't really need the ssl functions in boost asio. Is there any advice on how to:

  • build boost asio without ssl functions
  • build boost asio against the version of OpenSSL I am using
  • something else that I should be doing

macumber avatar Mar 10 '19 03:03 macumber

OpenSSL is listed as an optional dependency for boost. I don't see any relevant configuration variables to turn off ssl support in boost asio.

macumber avatar Mar 10 '19 03:03 macumber

Is it possible to define BOOST_LOG_NO_ASIO in the configuration of boost log?

macumber avatar Mar 10 '19 05:03 macumber

will look into tomorrow

solvingj avatar Mar 10 '19 06:03 solvingj

Thanks, it seems that cpprest is using boost asio as well so I am going to try rebuilding our custom Ruby version as a first step.

macumber avatar Mar 10 '19 16:03 macumber

I am very surprised and troubled to see that our boost_asio package doesn't have OpenSSL as an optional dependency. We need to add it.

solvingj avatar Mar 10 '19 21:03 solvingj