Worked out for myself how to install gcc-4.6 and g++-4.6 and get it to be usable. I also thought I'd follow the advice in the wiki when using Raspbian Stretch and install libssl1.0-dev. All well and good.
Cloned the developer repository into ~/dev-domoticz and kicked off the cmake command (no errors - a couple of warnings though)
This time it got to 100% (reasonably quickly really) and just when I thought I'd cracked it I got the following
Code: Select all
[100%] Linking CXX executable domoticz
/usr/local/lib/libboost_thread.a(thread.o): In function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) [clone .isra.140]':
thread.cpp:(.text+0x70): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::detail::make_external_thread_data()':
thread.cpp:(.text+0xc28): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0xcc0): undefined reference to `operator delete(void*, unsigned int)'
thread.cpp:(.text+0xce0): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0xd44): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0xda0): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0xe04): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0xe58): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::detail::thread_data_base::~thread_data_base()':
thread.cpp:(.text+0x15e8): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `tls_destructor':
thread.cpp:(.text+0x1764): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::this_thread::hidden::sleep_until(timespec const&)':
thread.cpp:(.text+0x20c4): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0x21f4): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0x2234): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0x22c0): undefined reference to `std::runtime_error::runtime_error(char const*)'
thread.cpp:(.text+0x2304): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/local/lib/libboost_thread.a(thread.o):thread.cpp:(.text+0x2378): more undefined references to `std::runtime_error::runtime_error(char const*)' follow
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::thread::physical_concurrency()':
thread.cpp:(.text+0x2d50): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)'
thread.cpp:(.text+0x2fcc): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned int, unsigned int)'
thread.cpp:(.text+0x3064): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned int, unsigned int)'
thread.cpp:(.text+0x314c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned int, unsigned int)'
thread.cpp:(.text+0x31e4): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned int, unsigned int)'
thread.cpp:(.text+0x3770): undefined reference to `std::__cxx11::numpunct<char> const& std::use_facet<std::__cxx11::numpunct<char> >(std::locale const&)'
thread.cpp:(.text+0x3884): undefined reference to `std::__cxx11::numpunct<char> const& std::use_facet<std::__cxx11::numpunct<char> >(std::locale const&)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::detail::sp_counted_impl_p<boost::detail::thread_data_base>::~sp_counted_impl_p()':
thread.cpp:(.text._ZN5boost6detail17sp_counted_impl_pINS0_16thread_data_baseEED0Ev[_ZN5boost6detail17sp_counted_impl_pINS0_16thread_data_baseEED5Ev]+0xc): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::detail::sp_counted_impl_p<boost::exception_detail::error_info_base>::~sp_counted_impl_p()':
thread.cpp:(.text._ZN5boost6detail17sp_counted_impl_pINS_16exception_detail15error_info_baseEED0Ev[_ZN5boost6detail17sp_counted_impl_pINS_16exception_detail15error_info_baseEED5Ev]+0xc): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::error_info<boost::tag_original_exception_type, std::type_info const*>::~error_info()':
thread.cpp:(.text._ZN5boost10error_infoINS_27tag_original_exception_typeEPKSt9type_infoED0Ev[_ZN5boost10error_infoINS_27tag_original_exception_typeEPKSt9type_infoED5Ev]+0xc): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::detail::sp_counted_impl_p<boost::exception_detail::error_info_base>::dispose()':
thread.cpp:(.text._ZN5boost6detail17sp_counted_impl_pINS_16exception_detail15error_info_baseEE7disposeEv[boost::detail::sp_counted_impl_p<boost::exception_detail::error_info_base>::dispose()]+0x24): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const':
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x2bc): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::swap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x3e8): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x41c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x430): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x460): undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x4e0): undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x4e8): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x4f0): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl22diagnostic_informationEPKc[boost::exception_detail::error_info_container_impl::diagnostic_information(char const*) const]+0x4f8): undefined reference to `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::exception_detail::error_info_container_impl::release() const':
thread.cpp:(.text._ZNK5boost16exception_detail25error_info_container_impl7releaseEv[boost::exception_detail::error_info_container_impl::release() const]+0x54): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `boost::detail::externally_launched_thread::~externally_launched_thread()':
thread.cpp:(.text._ZN5boost6detail26externally_launched_threadD0Ev[_ZN5boost6detail26externally_launched_threadD5Ev]+0xe8): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_initialize_dispatch<boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::algorithm::split_iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::iterators::use_default, boost::iterators::use_default> >(boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::algorithm::split_iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::iterators::use_default, boost::iterators::use_default>, boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::algorithm::split_iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::iterators::use_default, boost::iterators::use_default>, std::__false_type)':
thread.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE22_M_initialize_dispatchIN5boost9iterators18transform_iteratorINS9_9algorithm6detail20copy_iterator_rangeFIS5_N9__gnu_cxx17__normal_iteratorIPcS5_EEEENSC_14split_iteratorISI_EENSA_11use_defaultESM_EEEEvT_SO_St12__false_type[void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_initialize_dispatch<boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::algorithm::split_iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::iterators::use_default, boost::iterators::use_default> >(boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::algorithm::split_iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::iterators::use_default, boost::iterators::use_default>, boost::iterators::transform_iterator<boost::algorithm::detail::copy_iterator_rangeF<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::algorithm::split_iterator<__gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::iterators::use_default, boost::iterators::use_default>, std::__false_type)]+0x208): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int)'
/usr/local/lib/libboost_thread.a(thread.o): In function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >& boost::algorithm::iter_split<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> > >(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >)':
thread.cpp:(.text._ZN5boost9algorithm10iter_splitISt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EES8_NS0_6detail13token_finderFINSB_10is_any_ofFIcEEEEEERT_SH_RT0_T1_[std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >& boost::algorithm::iter_split<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> > >(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, boost::algorithm::detail::token_finderF<boost::algorithm::detail::is_any_ofF<char> >)]+0x590): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::(anonymous namespace)::system_error_category::~system_error_category()':
error_code.cpp:(.text+0x30): undefined reference to `std::_V2::error_category::~error_category()'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::(anonymous namespace)::system_error_category::~system_error_category()':
error_code.cpp:(.text+0x5c): undefined reference to `std::_V2::error_category::~error_category()'
error_code.cpp:(.text+0x68): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::(anonymous namespace)::generic_error_category::~generic_error_category()':
error_code.cpp:(.text+0x94): undefined reference to `std::_V2::error_category::~error_category()'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::(anonymous namespace)::generic_error_category::~generic_error_category()':
error_code.cpp:(.text+0xc0): undefined reference to `std::_V2::error_category::~error_category()'
error_code.cpp:(.text+0xcc): undefined reference to `operator delete(void*, unsigned int)'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::(anonymous namespace)::generic_error_category::message(int) const':
error_code.cpp:(.text+0x17c): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int)'
error_code.cpp:(.text+0x260): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned int&, unsigned int)'
error_code.cpp:(.text+0x2ac): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
error_code.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const]+0x20): undefined reference to `std::_V2::generic_category()'
error_code.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentEiRKSt15error_condition[boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const]+0x26c): undefined reference to `typeinfo for std::_V2::error_category'
/usr/local/lib/libboost_system.a(error_code.o): In function `boost::system::error_category::std_category::equivalent(std::error_code const&, int) const':
error_code.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[boost::system::error_category::std_category::equivalent(std::error_code const&, int) const]+0x20): undefined reference to `std::_V2::generic_category()'
error_code.cpp:(.text._ZNK5boost6system14error_category12std_category10equivalentERKSt10error_codei[boost::system::error_category::std_category::equivalent(std::error_code const&, int) const]+0x268): undefined reference to `typeinfo for std::_V2::error_category'
collect2: ld returned 1 exit status
CMakeFiles/domoticz.dir/build.make:5930: recipe for target 'domoticz' failed
make[2]: *** [domoticz] Error 1
CMakeFiles/Makefile2:71: recipe for target 'CMakeFiles/domoticz.dir/all' failed
make[1]: *** [CMakeFiles/domoticz.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
So close......
Any ideas or suggestions gratefully received. Problem with boost possibly?