Hi,
I tried several times to compile micro-service example on my server but always the same errors. cpprestsdk compile successfully, also I added include of <signal.h> in source/foundation/include/usr_interrupt_handler.hpp.
I'm also tried to set -lboost_filesystem -lcpprest -lboost_system -lboost_thread -lboost_chrono -lssl -lcrypto... but without success, I try specifying folder with -L but no change !
Please help me to resolve this problem (I'm using gcc 5.4, Boost 1.58.0, openssl libs 1.0.2g on ubuntu server Xenial LTS 64bit)
CMakeFiles/micro-service.dir/source/main.cpp.o: In function std::_Sp_counted_ptr<boost::asio::ssl::detail::openssl_init_base::do_init*, (__gnu_cxx::_Lock_policy)2>::_M_dispose()': main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x1a): undefined reference to
CRYPTO_set_id_callback'
main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x21): undefined reference to CRYPTO_set_locking_callback' main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x26): undefined reference to
ERR_free_strings'
main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x2d): undefined reference to ERR_remove_thread_state' main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x32): undefined reference to
EVP_cleanup'
main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x37): undefined reference to CRYPTO_cleanup_all_ex_data' main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x41): undefined reference to
CONF_modules_unload'
main.cpp:(.text._ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt15_Sp_counted_ptrIPN5boost4asio3ssl6detail17openssl_init_base7do_initELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x46): undefined reference to ENGINE_cleanup' CMakeFiles/micro-service.dir/source/main.cpp.o: In function
boost::asio::error::detail::ssl_category::messageabi:cxx11 const':
main.cpp:(.text._ZNK5boost4asio5error6detail12ssl_category7messageB5cxx11Ei[_ZNK5boost4asio5error6detail12ssl_category7messageB5cxx11Ei]+0x21): undefined reference to ERR_reason_error_string' CMakeFiles/micro-service.dir/source/main.cpp.o: In function
boost::asio::ssl::detail::openssl_init_base::do_init::~do_init()':
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x10): undefined reference to CRYPTO_set_id_callback' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x17): undefined reference to
CRYPTO_set_locking_callback'
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x1c): undefined reference to ERR_free_strings' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x23): undefined reference to
ERR_remove_thread_state'
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x28): undefined reference to EVP_cleanup' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x2d): undefined reference to
CRYPTO_cleanup_all_ex_data'
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x37): undefined reference to CONF_modules_unload' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base7do_initD2Ev[_ZN5boost4asio3ssl6detail17openssl_init_base7do_initD5Ev]+0x3c): undefined reference to
ENGINE_cleanup'
CMakeFiles/micro-service.dir/source/main.cpp.o: In function _GLOBAL__sub_I_main': main.cpp:(.text.startup+0x301): undefined reference to
boost::system::generic_category()'
main.cpp:(.text.startup+0x306): undefined reference to boost::system::generic_category()' main.cpp:(.text.startup+0x30b): undefined reference to
boost::system::system_category()'
main.cpp:(.text.startup+0x310): undefined reference to boost::system::system_category()' CMakeFiles/micro-service.dir/source/main.cpp.o: In function
boost::asio::ssl::detail::openssl_init_base::instance()':
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0xbd): undefined reference to SSL_library_init' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0xc2): undefined reference to
SSL_load_error_strings'
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0xc7): undefined reference to OPENSSL_add_all_algorithms_noconf' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0xcc): undefined reference to
CRYPTO_num_locks'
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0x16b): undefined reference to boost::system::system_category()' main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0x243): undefined reference to
CRYPTO_set_locking_callback'
main.cpp:(.text._ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv[_ZN5boost4asio3ssl6detail17openssl_init_base8instanceEv]+0x24d): undefined reference to CRYPTO_set_id_callback' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
MicroserviceController::responseNotImpl(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
microsvc_controller.cpp:(.text+0x185): undefined reference to web::json::value::object(bool)' microsvc_controller.cpp:(.text+0x1b0): undefined reference to
web::json::value::string(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
microsvc_controller.cpp:(.text+0x1db): undefined reference to web::json::value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' microsvc_controller.cpp:(.text+0x1e6): undefined reference to
web::json::value::operator=(web::json::value&&)'
microsvc_controller.cpp:(.text+0x25a): undefined reference to web::json::value::string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' microsvc_controller.cpp:(.text+0x285): undefined reference to
web::json::value::operator[](std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
microsvc_controller.cpp:(.text+0x292): undefined reference to web::json::value::operator=(web::json::value&&)' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
pplx::details::_ScheduleFuncWithAutoInline(std::function<void ()> const&, pplx::details::_TaskInliningMode) [clone .constprop.1086]':
microsvc_controller.cpp:(.text+0x461): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
MicroserviceController::initRestOpHandlers()':
microsvc_controller.cpp:(.text+0xab0): undefined reference to web::http::methods::GET[abi:cxx11]' microsvc_controller.cpp:(.text+0xb0b): undefined reference to
web::http::methods::PUT[abi:cxx11]'
microsvc_controller.cpp:(.text+0xb66): undefined reference to web::http::methods::POST[abi:cxx11]' microsvc_controller.cpp:(.text+0xbc1): undefined reference to
web::http::methods::DEL[abi:cxx11]'
microsvc_controller.cpp:(.text+0xc1c): undefined reference to web::http::methods::PATCH[abi:cxx11]' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
MicroserviceController::handleGet(web::http::http_request)':
microsvc_controller.cpp:(.text+0xddf): undefined reference to web::json::value::object(bool)' microsvc_controller.cpp:(.text+0xe01): undefined reference to
web::json::value::string(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
microsvc_controller.cpp:(.text+0xe1f): undefined reference to web::json::value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' microsvc_controller.cpp:(.text+0xe2a): undefined reference to
web::json::value::operator=(web::json::value&&)'
microsvc_controller.cpp:(.text+0xe91): undefined reference to web::json::value::string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' microsvc_controller.cpp:(.text+0xeb5): undefined reference to
web::json::value::operator[](std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
microsvc_controller.cpp:(.text+0xec2): undefined reference to web::json::value::operator=(web::json::value&&)' microsvc_controller.cpp:(.text+0xf89): undefined reference to
web::http::details::http_msg_base::http_msg_base()'
microsvc_controller.cpp:(.text+0xfac): undefined reference to vtable for web::http::details::_http_response' microsvc_controller.cpp:(.text+0xff3): undefined reference to
web::http::details::_http_request::reply(web::http::http_response const&)'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handlePatch(web::http::http_request)': microsvc_controller.cpp:(.text+0x1175): undefined reference to
web::http::methods::PATCH[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handlePut(web::http::http_request)': microsvc_controller.cpp:(.text+0x1225): undefined reference to
web::http::methods::PUT[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handlePost(web::http::http_request)': microsvc_controller.cpp:(.text+0x12d5): undefined reference to
web::http::methods::POST[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handleDelete(web::http::http_request)': microsvc_controller.cpp:(.text+0x1385): undefined reference to
web::http::methods::DEL[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handleHead(web::http::http_request)': microsvc_controller.cpp:(.text+0x1435): undefined reference to
web::http::methods::HEAD[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handleOptions(web::http::http_request)': microsvc_controller.cpp:(.text+0x14e5): undefined reference to
web::http::methods::OPTIONS[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handleTrace(web::http::http_request)': microsvc_controller.cpp:(.text+0x1595): undefined reference to
web::http::methods::TRCE[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handleConnect(web::http::http_request)': microsvc_controller.cpp:(.text+0x1645): undefined reference to
web::http::methods::CONNECT[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function MicroserviceController::handleMerge(web::http::http_request)': microsvc_controller.cpp:(.text+0x16f5): undefined reference to
web::http::methods::MERGE[abi:cxx11]'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function pplx::details::_CancellationTokenRegistration::_Invoke()': microsvc_controller.cpp:(.text._ZN4pplx7details30_CancellationTokenRegistration7_InvokeEv[_ZN4pplx7details30_CancellationTokenRegistration7_InvokeEv]+0x20): undefined reference to
pplx::details::platform::GetCurrentThreadId()'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function pplx::details::_CancellationTokenState::_Cancel()': microsvc_controller.cpp:(.text._ZN4pplx7details23_CancellationTokenState7_CancelEv[_ZN4pplx7details23_CancellationTokenState7_CancelEv]+0xdb): undefined reference to
pplx::details::platform::GetCurrentThreadId()'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function pplx::task_options::task_options()': microsvc_controller.cpp:(.text._ZN4pplx12task_optionsC2Ev[_ZN4pplx12task_optionsC5Ev]+0x1c): undefined reference to
pplx::get_ambient_scheduler()'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function pplx::details::_Task_impl_base::_DeregisterCancellation()': microsvc_controller.cpp:(.text._ZN4pplx7details15_Task_impl_base23_DeregisterCancellationEv[_ZN4pplx7details15_Task_impl_base23_DeregisterCancellationEv]+0x1c5): undefined reference to
pplx::details::platform::GetCurrentThreadId()'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function pplx::details::_Task_impl_base::_RegisterCancellation(std::weak_ptr<pplx::details::_Task_impl_base>)': microsvc_controller.cpp:(.text._ZN4pplx7details15_Task_impl_base21_RegisterCancellationESt8weak_ptrIS1_E[_ZN4pplx7details15_Task_impl_base21_RegisterCancellationESt8weak_ptrIS1_E]+0xc1): undefined reference to
pplx::details::platform::GetCurrentThreadId()'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function std::_Sp_counted_ptr_inplace<web::http::details::_http_response, std::allocator<web::http::details::_http_response>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()': microsvc_controller.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN3web4http7details14_http_responseESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN3web4http7details14_http_responseESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x18): undefined reference to
vtable for web::http::details::_http_response'
microsvc_controller.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN3web4http7details14_http_responseESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv[_ZNSt23_Sp_counted_ptr_inplaceIN3web4http7details14_http_responseESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv]+0x59): undefined reference to vtable for web::http::details::http_msg_base' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
Concurrency::streams::details::streambuf_state_manager::_close_read()':
microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details23streambuf_state_managerIcE11_close_readEv[_ZN11Concurrency7streams7details23streambuf_state_managerIcE11_close_readEv]+0x20): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
Concurrency::streams::details::streambuf_state_manager::_close_write()':
microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details23streambuf_state_managerIcE12_close_writeEv[_ZN11Concurrency7streams7details23streambuf_state_managerIcE12_close_writeEv]+0x20): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
Concurrency::streams::details::basic_container_buffer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::~basic_container_buffer()':
microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED0Ev[_ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED5Ev]+0x29): undefined reference to pplx::get_ambient_scheduler()' microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED0Ev[_ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED5Ev]+0xb2): undefined reference to
pplx::get_ambient_scheduler()'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function web::http::http_response::set_body(web::json::value const&)': microsvc_controller.cpp:(.text._ZN3web4http13http_response8set_bodyERKNS_4json5valueE[_ZN3web4http13http_response8set_bodyERKNS_4json5valueE]+0x30): undefined reference to
web::json::value::serializeabi:cxx11 const'
microsvc_controller.cpp:(.text._ZN3web4http13http_response8set_bodyERKNS_4json5valueE[_ZN3web4http13http_response8set_bodyERKNS_4json5valueE]+0x42): undefined reference to utility::conversions::to_utf8string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)' microsvc_controller.cpp:(.text._ZN3web4http13http_response8set_bodyERKNS_4json5valueE[_ZN3web4http13http_response8set_bodyERKNS_4json5valueE]+0x436): undefined reference to
web::http::details::http_msg_base::set_body(Concurrency::streams::basic_istream const&, unsigned long, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function web::http::http_request::reply(unsigned short, web::json::value const&) const': microsvc_controller.cpp:(.text._ZNK3web4http12http_request5replyEtRKNS_4json5valueE[_ZNK3web4http12http_request5replyEtRKNS_4json5valueE]+0x60): undefined reference to
web::http::details::http_msg_base::http_msg_base()'
microsvc_controller.cpp:(.text._ZNK3web4http12http_request5replyEtRKNS_4json5valueE[_ZNK3web4http12http_request5replyEtRKNS_4json5valueE]+0x77): undefined reference to vtable for web::http::details::_http_response' microsvc_controller.cpp:(.text._ZNK3web4http12http_request5replyEtRKNS_4json5valueE[_ZNK3web4http12http_request5replyEtRKNS_4json5valueE]+0xcc): undefined reference to
web::http::details::_http_request::reply(web::http::http_response const&)'
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function std::_Function_handler<pplx::task<void> (), Concurrency::streams::details::streambuf_state_manager<char>::close(std::_Ios_Openmode)::{lambda()#2}>::_M_invoke(std::_Any_data const&)': microsvc_controller.cpp:(.text._ZNSt17_Function_handlerIFN4pplx4taskIvEEvEZN11Concurrency7streams7details23streambuf_state_managerIcE5closeESt13_Ios_OpenmodeEUlvE0_E9_M_invokeERKSt9_Any_data[_ZNSt17_Function_handlerIFN4pplx4taskIvEEvEZN11Concurrency7streams7details23streambuf_state_managerIcE5closeESt13_Ios_OpenmodeEUlvE0_E9_M_invokeERKSt9_Any_data]+0x2d): undefined reference to
pplx::get_ambient_scheduler()'
microsvc_controller.cpp:(.text._ZNSt17_Function_handlerIFN4pplx4taskIvEEvEZN11Concurrency7streams7details23streambuf_state_managerIcE5closeESt13_Ios_OpenmodeEUlvE0_E9_M_invokeERKSt9_Any_data[_ZNSt17_Function_handlerIFN4pplx4taskIvEEvEZN11Concurrency7streams7details23streambuf_state_managerIcE5closeESt13_Ios_OpenmodeEUlvE0_E9_M_invokeERKSt9_Any_data]+0xde): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
Concurrency::streams::details::basic_container_buffer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::_getn(char*, unsigned long)':
microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5_getnEPcm[_ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5_getnEPcm]+0x2c): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
Concurrency::streams::details::basic_container_buffer<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >::_putn(char const*, unsigned long)':
microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5_putnEPKcm[_ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5_putnEPKcm]+0x2e): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function
Concurrency::streams::details::streambuf_state_manager::_putn(char const*, unsigned long, bool)':
microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details23streambuf_state_managerIcE5_putnEPKcmb[_ZN11Concurrency7streams7details23streambuf_state_managerIcE5_putnEPKcmb]+0x44): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o:microsvc_controller.cpp:(.text._ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5_syncEv[_ZN11Concurrency7streams7details22basic_container_bufferINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE5_syncEv]+0x1c): more undefined references to
pplx::get_ambient_scheduler()' follow
CMakeFiles/micro-service.dir/source/microsvc_controller.cpp.o: In function _GLOBAL__sub_I__ZN22MicroserviceController18initRestOpHandlersEv': microsvc_controller.cpp:(.text.startup+0x33): undefined reference to
boost::system::generic_category()'
microsvc_controller.cpp:(.text.startup+0x38): undefined reference to boost::system::generic_category()' microsvc_controller.cpp:(.text.startup+0x3d): undefined reference to
boost::system::system_category()'
microsvc_controller.cpp:(.text.startup+0x42): undefined reference to boost::system::system_category()' CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function
cfx::NetworkUtils::queryHostInetInfo()':
network_utils.cpp:(.text+0x171): undefined reference to boost::system::system_category()' network_utils.cpp:(.text+0x19b): undefined reference to
boost::system::system_category()'
network_utils.cpp:(.text+0x3c9): undefined reference to boost::system::system_category()' CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o:network_utils.cpp:(.text+0x77b): more undefined references to
boost::system::system_category()' follow
CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function boost::asio::ip::resolver_service<boost::asio::ip::tcp>::~resolver_service()': network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED0Ev[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED5Ev]+0x334): undefined reference to
pthread_detach'
network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED0Ev[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED5Ev]+0x356): undefined reference to pthread_join' network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED0Ev[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED5Ev]+0x379): undefined reference to
pthread_detach'
CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function boost::asio::ip::resolver_service<boost::asio::ip::tcp>::shutdown_service()': network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE16shutdown_serviceEv[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE16shutdown_serviceEv]+0x1f6): undefined reference to
pthread_join'
network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE16shutdown_serviceEv[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE16shutdown_serviceEv]+0x219): undefined reference to pthread_detach' CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function
boost::asio::ip::resolver_serviceboost::asio::ip::tcp::~resolver_service()':
network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED2Ev[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED5Ev]+0x334): undefined reference to pthread_detach' network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED2Ev[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED5Ev]+0x356): undefined reference to
pthread_join'
network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED2Ev[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEED5Ev]+0x379): undefined reference to pthread_detach' CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function
boost::asio::detail::task_io_service_thread_info::~task_io_service_thread_info()':
network_utils.cpp:(.text._ZN5boost4asio6detail27task_io_service_thread_infoD2Ev[_ZN5boost4asio6detail27task_io_service_thread_infoD5Ev]+0x43): undefined reference to boost::system::system_category()' CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function
boost::asio::ip::resolver_serviceboost::asio::ip::tcp::fork_service(boost::asio::io_service::fork_event)':
network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE]+0x12d): undefined reference to pthread_create' network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE]+0x141): undefined reference to
boost::system::system_category()'
network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE]+0x186): undefined reference to pthread_join' network_utils.cpp:(.text._ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE[_ZN5boost4asio2ip16resolver_serviceINS1_3tcpEE12fork_serviceENS0_10io_service10fork_eventE]+0x19d): undefined reference to
pthread_detach'
CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function boost_asio_detail_posix_thread_function': network_utils.cpp:(.text.boost_asio_detail_posix_thread_function[boost_asio_detail_posix_thread_function]+0x49): undefined reference to
boost::system::system_category()'
network_utils.cpp:(.text.boost_asio_detail_posix_thread_function[boost_asio_detail_posix_thread_function]+0x57): undefined reference to boost::system::system_category()' network_utils.cpp:(.text.boost_asio_detail_posix_thread_function[boost_asio_detail_posix_thread_function]+0x417): undefined reference to
boost::system::system_category()'
CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function boost::asio::detail::posix_thread::func<boost::asio::detail::resolver_service_base::work_io_service_runner>::run()': network_utils.cpp:(.text._ZN5boost4asio6detail12posix_thread4funcINS1_21resolver_service_base22work_io_service_runnerEE3runEv[_ZN5boost4asio6detail12posix_thread4funcINS1_21resolver_service_base22work_io_service_runnerEE3runEv]+0x31): undefined reference to
boost::system::system_category()'
network_utils.cpp:(.text._ZN5boost4asio6detail12posix_thread4funcINS1_21resolver_service_base22work_io_service_runnerEE3runEv[_ZN5boost4asio6detail12posix_thread4funcINS1_21resolver_service_base22work_io_service_runnerEE3runEv]+0x3f): undefined reference to boost::system::system_category()' CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o:network_utils.cpp:(.text._ZN5boost4asio6detail12posix_thread4funcINS1_21resolver_service_base22work_io_service_runnerEE3runEv[_ZN5boost4asio6detail12posix_thread4funcINS1_21resolver_service_base22work_io_service_runnerEE3runEv]+0x3a4): more undefined references to
boost::system::system_category()' follow
CMakeFiles/micro-service.dir/source/foundation/network_utils.cpp.o: In function _GLOBAL__sub_I__ZN3cfx12NetworkUtils17queryHostInetInfoEv': network_utils.cpp:(.text.startup+0x23): undefined reference to
boost::system::generic_category()'
network_utils.cpp:(.text.startup+0x28): undefined reference to boost::system::generic_category()' network_utils.cpp:(.text.startup+0x2d): undefined reference to
boost::system::system_category()'
network_utils.cpp:(.text.startup+0x32): undefined reference to boost::system::system_category()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
cfx::BasicController::accept()':
basic_controller.cpp:(.text+0x1ce): undefined reference to web::http::experimental::listener::details::http_listener_impl::open()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
cfx::BasicController::shutdown()':
basic_controller.cpp:(.text+0x22d): undefined reference to web::http::experimental::listener::details::http_listener_impl::close()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
cfx::BasicController::requestPath[abi:cxx11](web::http::http_request const&)':
basic_controller.cpp:(.text+0x277): undefined reference to web::http::details::_http_request::relative_uri() const' basic_controller.cpp:(.text+0x28b): undefined reference to
web::uri::decode(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)'
basic_controller.cpp:(.text+0x33a): undefined reference to web::uri::split_path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
pplx::details::_ScheduleFuncWithAutoInline(std::function<void ()> const&, pplx::details::_TaskInliningMode) [clone .constprop.1048]':
basic_controller.cpp:(.text+0x401): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
cfx::BasicController::setEndpoint(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)':
basic_controller.cpp:(.text+0x5ea): undefined reference to web::uri::uri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' basic_controller.cpp:(.text+0x7eb): undefined reference to
web::uri_builder::to_uri()'
basic_controller.cpp:(.text+0x8a3): undefined reference to web::http::experimental::listener::http_listener::~http_listener()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
cfx::BasicController::BasicController()':
basic_controller.cpp:(.text+0xc65): undefined reference to pplx::get_ambient_scheduler()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
cfx::BasicController::~BasicController()':
basic_controller.cpp:(.text+0x16c): undefined reference to web::http::experimental::listener::http_listener::~http_listener()' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
std::unique_ptr<web::http::experimental::listener::details::http_listener_impl, std::default_deleteweb::http::experimental::listener::details::http_listener_impl > utility::details::make_unique<web::http::experimental::listener::details::http_listener_impl, web::uri>(web::uri&&)':
basic_controller.cpp:(.text.ZN7utility7details11make_uniqueIN3web4http12experimental8listener7details18http_listener_implENS2_3uriEEESt10unique_ptrIT_St14default_deleteISA_EEOT0[ZN7utility7details11make_uniqueIN3web4http12experimental8listener7details18http_listener_implENS2_3uriEEESt10unique_ptrIT_St14default_deleteISA_EEOT0]+0x276): undefined reference to web::http::experimental::listener::details::http_listener_impl::http_listener_impl(web::uri)' CMakeFiles/micro-service.dir/source/foundation/basic_controller.cpp.o: In function
_GLOBAL__sub_I__ZN3cfx15BasicControllerC2Ev':
basic_controller.cpp:(.text.startup+0x33): undefined reference to boost::system::generic_category()' basic_controller.cpp:(.text.startup+0x38): undefined reference to
boost::system::generic_category()'
basic_controller.cpp:(.text.startup+0x3d): undefined reference to boost::system::system_category()' basic_controller.cpp:(.text.startup+0x42): undefined reference to
boost::system::system_category()'
collect2: error: ld returned 1 exit status
CMakeFiles/micro-service.dir/build.make:172: recipe for target 'micro-service' failed
make[2]: *** [micro-service] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/micro-service.dir/all' failed
make[1]: *** [CMakeFiles/micro-service.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2