libcec-daemon icon indicating copy to clipboard operation
libcec-daemon copied to clipboard

Fail to build with boost 1.61

Open marillat opened this issue 9 years ago • 1 comments

System is Debian unstable i386

src/accumulator.hpp: In instantiation of 'accumulator_type<T>* accumulator(T*) [with T = int]':
src/main.cpp:569:46:   required from here
src/accumulator.hpp:97:12: error: invalid new-expression of abstract class type 'accumulator_type<int>'
     return new accumulator_type<T>(store);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/accumulator.hpp:18:7: note:   because the following virtual functions are pure within 'accumulator_type<int>':
 class accumulator_type : public boost::program_options::value_semantic
       ^~~~~~~~~~~~~~~~
In file included from /usr/include/boost/program_options/options_description.hpp:13:0,
                 from /usr/include/boost/program_options.hpp:15,
                 from src/main.cpp:26:
/usr/include/boost/program_options/value_semantic.hpp:44:22: note:  virtual bool boost::program_options::value_semantic::adjacent_tokens_only() const
         virtual bool adjacent_tokens_only() const = 0;
                      ^~~~~~~~~~~~~~~~~~~~
Makefile:452: recipe for target 'src/main.o' failed

marillat avatar Aug 11 '16 15:08 marillat

Also fails with boost 1.63 64bit with the same error. Fixed with:

--- accumulator.hpp 2017-04-26 14:40:48.098050738 -0400 +++ accumulator.hpp.new 2017-04-26 14:40:33.082051363 -0400 @@ -54,6 +54,8 @@ /// Requiring one or more appearances is unlikely. virtual bool is_required() const { return false; }

  • virtual bool adjacent_tokens_only() const override { return false; }
  • /// Every appearance of the option simply increments the value // /// There should never be any tokens.

MarkBuechler avatar Apr 26 '17 18:04 MarkBuechler