bitbouncer / kspp

A high performance/ real-time C++ Kafka streams framework (C++17)
Boost Software License 1.0
112 stars 24 forks source link

avrogencpp fails to compile #26

Closed rudi-cilibrasi closed 4 years ago

rudi-cilibrasi commented 4 years ago

Hi I am on Ubuntu 18.04 and avrogencpp fails to build during the 3rd party install phase:

if (CMAKE_COMPILER_IS_GNUCXX)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
if (AVRO_ADD_PROTECTOR_FLAGS)
    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fstack-protector-all -D_GLIBCXX_DEBUG")
    # Unset _GLIBCXX_DEBUG for avrogencpp.cc because using Boost Program Options
    # leads to linking errors when compiling with _GLIBCXX_DEBUG as described on
    # http://stackoverflow.com/questions/19729036/
    set_source_files_properties(impl/avrogencpp.cc PROPERTIES COMPILE_FLAGS "-U_GLIBCXX_DEBUG")
endif ()
endif ()
...
[ 70%] Linking CXX executable avrogencpp
CMakeFiles/avrogencpp.dir/impl/avrogencpp.cc.o: In function `boost::re_detail_107000::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::unwind_extra_block(bool)':
avrogencpp.cc:(.text._ZN5boost16re_detail_10700012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE18unwind_extra_blockEb[_ZN5boost16re_detail_10700012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE18unwind_extra_blockEb]+0x22): undefined reference to `boost::re_detail_107000::put_mem_block(void*)'
...

full logfile attached logfile.txt

skarlsson commented 4 years ago

Can you try to run ./build_3rdparty.sh in the docker-ubuntu dir. That seems to work on master and should be the same thing. The only thing that comes to mind is that you already have another version of boost-dev packages already installed. I have runtime libraries from other versions but only one version of dev packages.

skarlsson commented 4 years ago

closed due to lack of activity

rudi-cilibrasi commented 4 years ago

thanks @skarlsson that seems to work. sorry for the late reply. i appreciate the help.