Skip to content

Cucumber CPP Does Not Build! #174

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

Closed
nsalerni opened this issue Oct 24, 2017 · 14 comments
Closed

Cucumber CPP Does Not Build! #174

nsalerni opened this issue Oct 24, 2017 · 14 comments
Milestone

Comments

@nsalerni
Copy link

Summary

Building Cucumber-Cpp fails. See error message below:

[ 18%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o
/Users/nsalerni/Desktop/cpp-cucumber/cucumber-cpp/src/drivers/BoostDriver.cpp:68:10: error:
'cucumber::internal::CukeBoostLogInterceptor::log_entry_context' hides overloaded virtual function
[-Werror,-Woverloaded-virtual]
void log_entry_context( std::ostream&, const_string /value/) {}
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:267:25: note: hidden overloaded virtual
function 'boost::unit_test::unit_test_log_formatter::log_entry_context' declared here: different
number of parameters (3 vs 2)
virtual void log_entry_context( std::ostream& os, log_level l, const_string value ) = 0;
^
/Users/nsalerni/Desktop/cpp-cucumber/cucumber-cpp/src/drivers/BoostDriver.cpp:69:10: error:
'cucumber::internal::CukeBoostLogInterceptor::entry_context_finish' hides overloaded virtual
function [-Werror,-Woverloaded-virtual]
void entry_context_finish( std::ostream& ) {}
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:274:25: note: hidden overloaded virtual
function 'boost::unit_test::unit_test_log_formatter::entry_context_finish' declared here:
different number of parameters (2 vs 1)
virtual void entry_context_finish( std::ostream& os, log_level l ) = 0;
^
/Users/nsalerni/Desktop/cpp-cucumber/cucumber-cpp/src/drivers/BoostDriver.cpp:117:26: error: allocating
an object of abstract class type 'cucumber::internal::CukeBoostLogInterceptor'
logInterceptor = new CukeBoostLogInterceptor;
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:267:25: note: unimplemented pure virtual
method 'log_entry_context' in 'CukeBoostLogInterceptor'
virtual void log_entry_context( std::ostream& os, log_level l, const_string value ) = 0;
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:274:25: note: unimplemented pure virtual
method 'entry_context_finish' in 'CukeBoostLogInterceptor'
virtual void entry_context_finish( std::ostream& os, log_level l ) = 0;
^
3 errors generated.
make[2]: *** [src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/cucumber-cpp.dir/all] Error 2
make: *** [all] Error 2

Steps to Reproduce (for bugs)

Follow exact instructions on the README associated with this package.

Your Environment

  • Version used: Latest
  • Operating System and version: macOS Sierra
@konserw
Copy link
Contributor

konserw commented Oct 24, 2017

what version of boost are you using ? It would be good to upload CMake output from configure step

@nsalerni
Copy link
Author

boost: stable 1.65.1
All other deps (gtest, qt, etc.) are all at their latest version.

@konserw
Copy link
Contributor

konserw commented Oct 24, 2017

This is boost's commit that broke our build: boostorg/test@fcb302b#diff-bcc3185dd80b117f8fc46af27d0eba1b
I've created fix already - will publish in a moment. You can try building from my branch, or revert to boost 1.64 which should work wit cucumber-cpp master.

konserw added a commit to konserw/cucumber-cpp that referenced this issue Oct 24, 2017
@konserw konserw self-assigned this Oct 24, 2017
@nsalerni
Copy link
Author

ETA on fix?

@konserw
Copy link
Contributor

konserw commented Nov 30, 2017

Hard to say - I'm waiting for review. In the mean time you can use this: #175 (or revert to boost 1.64)

@konserw
Copy link
Contributor

konserw commented Dec 1, 2017

Now it's merged - could you please check if now you can build master without problems using boost 1.65.1 ?

@nsalerni
Copy link
Author

nsalerni commented Dec 7, 2017

Unfortunately still doesn't work. This is the error I'm getting:

Undefined symbols for architecture x86_64:
  "boost::filesystem::detail::remove(boost::filesystem::path const&, boost::system::error_code*)", referenced from:
      boost::filesystem::remove(boost::filesystem::path const&) in libcucumber-cpp.a(WireServer.cpp.o)
  "boost::filesystem::detail::status(boost::filesystem::path const&, boost::system::error_code*)", referenced from:
      boost::filesystem::status(boost::filesystem::path const&) in libcucumber-cpp.a(WireServer.cpp.o)
  "boost::program_options::validators::check_first_occurrence(boost::any const&)", referenced from:
      void boost::program_options::validate<int, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, int*, long) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::to_internal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > boost::program_options::to_internal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::variables_map::variables_map()", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)", referenced from:
      boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::options_description::add_options()", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::options_description::m_default_line_length", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::options_description::options_description(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, unsigned int)", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::invalid_option_value::invalid_option_value(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      void boost::program_options::validate<int, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, int*, long) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::error_with_option_name::error_with_option_name(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)", referenced from:
      boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::options_description_easy_init::operator()(char const*, char const*)", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::arg", referenced from:
      boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>::name() const in libcucumber-cpp.a(main.cpp.o)
      boost::program_options::typed_value<int, char>::name() const in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>)", referenced from:
      boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)", referenced from:
      boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::detail::cmdline::get_canonical_option_prefix()", referenced from:
      boost::program_options::basic_command_line_parser<char>::run() in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::detail::cmdline::run()", referenced from:
      boost::program_options::basic_command_line_parser<char>::run() in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::detail::cmdline::style(int)", referenced from:
      boost::program_options::basic_command_line_parser<char>::style(int) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::detail::cmdline::cmdline(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&)", referenced from:
      boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*) in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::notify(boost::program_options::variables_map&)", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::validate(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int)", referenced from:
      boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>::xparse(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) const in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, boost::program_options::options_description const&)", referenced from:
      _main in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::abstract_variables_map::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:
      boost::program_options::variables_map::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::error_with_option_name::substitute_placeholders(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:
      vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> > in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::exception_detail::error_info_injector<boost::program_options::validation_error> in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::program_options::validation_error in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> > in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::program_options::invalid_option_value in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::error_with_option_name::what() const", referenced from:
      vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> > in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::exception_detail::error_info_injector<boost::program_options::validation_error> in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::program_options::validation_error in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> > in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::program_options::invalid_option_value in libcucumber-cpp.a(main.cpp.o)
  "boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool) const", referenced from:
      vtable for boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char> in libcucumber-cpp.a(main.cpp.o)
      vtable for boost::program_options::typed_value<int, char> in libcucumber-cpp.a(main.cpp.o)
  "typeinfo for boost::program_options::error_with_option_name", referenced from:
      typeinfo for boost::program_options::validation_error in libcucumber-cpp.a(main.cpp.o)
  "typeinfo for boost::program_options::value_semantic_codecvt_helper<char>", referenced from:
      typeinfo for boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char> in libcucumber-cpp.a(main.cpp.o)
      typeinfo for boost::program_options::typed_value<int, char> in libcucumber-cpp.a(main.cpp.o)
  "vtable for boost::program_options::variables_map", referenced from:
      boost::program_options::variables_map::~variables_map() in libcucumber-cpp.a(main.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for boost::program_options::error_with_option_name", referenced from:
      boost::program_options::error_with_option_name::error_with_option_name(boost::program_options::error_with_option_name const&) in libcucumber-cpp.a(main.cpp.o)
      boost::program_options::error_with_option_name::~error_with_option_name() in libcucumber-cpp.a(main.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for boost::program_options::value_semantic_codecvt_helper<char>", referenced from:
      boost::program_options::value_semantic_codecvt_helper<char>::value_semantic_codecvt_helper() in libcucumber-cpp.a(main.cpp.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [SpeakerSteps] Error 1
make[1]: *** [CMakeFiles/SpeakerSteps.dir/all] Error 2
make: *** [all] Error 2

@konserw
Copy link
Contributor

konserw commented Apr 2, 2018

Could you please try building again with latest cucumber-cpp?

@muggenhor muggenhor added this to the v0.5 milestone May 23, 2018
@muggenhor
Copy link
Contributor

I just managed to build this with Boost 1.66.0 and there's no response for a while so I'm assuming this problem has been fixed.

@ivermani
Copy link

ivermani commented Sep 7, 2019

Hi, facing the exact same issue when building

cucumber-cpp/src/drivers/BoostDriver.cpp:53:10: error: 'cucumber::internal::CukeBoostLogInterceptor::log_build_info' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
void log_build_info( std::ostream&) {};
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: hidden overloaded virtual function 'boost::unit_test::unit_test_log_formatter::log_build_info' declared here: different number of
parameters (2 vs 1)
virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
^
/Users/ishan/my_git/cucumber-cpp/src/drivers/BoostDriver.cpp:122:26: error: allocating an object of abstract class type 'cucumber::internal::CukeBoostLogInterceptor'
logInterceptor = new CukeBoostLogInterceptor;
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: unimplemented pure virtual method 'log_build_info' in 'CukeBoostLogInterceptor'
virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
^
2 errors generated.
make[2]: *** [src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/cucumber-cpp.dir/all] Error 2
make: *** [all] Error 2

Any help?

@dionisioedu
Copy link

Hi, facing the exact same issue when building

cucumber-cpp/src/drivers/BoostDriver.cpp:53:10: error: 'cucumber::internal::CukeBoostLogInterceptor::log_build_info' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
void log_build_info( std::ostream&) {};
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: hidden overloaded virtual function 'boost::unit_test::unit_test_log_formatter::log_build_info' declared here: different number of
parameters (2 vs 1)
virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
^
/Users/ishan/my_git/cucumber-cpp/src/drivers/BoostDriver.cpp:122:26: error: allocating an object of abstract class type 'cucumber::internal::CukeBoostLogInterceptor'
logInterceptor = new CukeBoostLogInterceptor;
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: unimplemented pure virtual method 'log_build_info' in 'CukeBoostLogInterceptor'
virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
^
2 errors generated.
make[2]: *** [src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/cucumber-cpp.dir/all] Error 2
make: *** [all] Error 2

Any help?

I am facing the same problem too.

Any help?

@carlaMorral
Copy link

Hi, facing the exact same issue when building

/Users/carlamorralmartin/Documents/cucumber-cpp/src/drivers/BoostDriver.cpp:53:10: error: 'cucumber::internal::CukeBoostLogInterceptor::log_build_info' hides overloaded virtual function [-Werror,-Woverloaded-virtual]
void log_build_info( std::ostream&) {};
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: hidden overloaded virtual function 'boost::unit_test::unit_test_log_formatter::log_build_info' declared here: different number of parameters (2 vs 1)
virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
^
/Users/carlamorralmartin/Documents/cucumber-cpp/src/drivers/BoostDriver.cpp:122:26: error: allocating an object of abstract class type 'cucumber::internal::CukeBoostLogInterceptor'
logInterceptor = new CukeBoostLogInterceptor;
^
/usr/local/include/boost/test/unit_test_log_formatter.hpp:144:25: note: unimplemented pure virtual method 'log_build_info' in 'CukeBoostLogInterceptor'
virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
^
2 errors generated.
make[2]: *** [src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/cucumber-cpp.dir/all] Error 2
make: *** [all] Error 2

Any help would be very appreciated.

@jarchro
Copy link

jarchro commented Apr 7, 2021

Hi, facing the exact same issue when building:
[ 28%] Building CXX object src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/include/boost/smart_ptr/weak_ptr.hpp:17,
from /usr/include/boost/smart_ptr/enable_shared_from_this.hpp:16,
from /usr/include/boost/enable_shared_from_this.hpp:16,
from /mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/include/cucumber-cpp/internal/drivers/../step/StepManager.hpp:11,
from /mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/include/cucumber-cpp/internal/drivers/BoostDriver.hpp:4,
from /mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/src/drivers/BoostDriver.cpp:1:
/usr/include/boost/bind.hpp:36:1: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.'
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
/mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/src/drivers/BoostDriver.cpp: In static member function 'static void cucumber::internal::BoostStep::initBoostTest()':
/mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/src/drivers/BoostDriver.cpp:122:26: error: invalid new-expression of abstract class type 'cucumber::internal::CukeBoostLogInterceptor'
122 | logInterceptor = new CukeBoostLogInterceptor;
| ^~~~~~~~~~~~~~~~~~~~~~~
/mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/src/drivers/BoostDriver.cpp:45:7: note: because the following virtual functions are pure within 'cucumber::internal::CukeBoostLogInterceptor':
45 | class CukeBoostLogInterceptor : public ::boost::unit_test::unit_test_log_formatter {
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /mnt/c/Users/jchrobak/CLionProjects/projects/cucumber-cpp/src/drivers/BoostDriver.cpp:9:
/usr/include/boost/test/unit_test_log_formatter.hpp:144:25: note: 'virtual void boost::unit_test::unit_test_log_formatter::log_build_info(std::ostream&, bool)'
144 | virtual void log_build_info( std::ostream& os, bool log_build_info = true ) = 0;
| ^~~~~~~~~~~~~~
gmake[2]: *** [src/CMakeFiles/cucumber-cpp.dir/build.make:277: src/CMakeFiles/cucumber-cpp.dir/drivers/BoostDriver.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:476: src/CMakeFiles/cucumber-cpp.dir/all] Error 2
gmake: *** [Makefile:160: all] Error 2

I found on http://groups.google.com/group/cukes info: "Cucumber-cpp is not compatible with boost 1_70_0+, the log_build_info definition has been changed, try boost 1_69_0". Could anyone fix it? Any help would be very appreciated.

@jarchro
Copy link

jarchro commented Apr 7, 2021

I found solution here: https://github.com./cucumber/cucumber-cpp/pull/225/files, but unfortunately not merged to master.

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

No branches or pull requests

7 participants