Bug 214469 - sysutils/facter: fails to build with boost 1.62
Summary: sysutils/facter: fails to build with boost 1.62
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ruby (Nobody)
URL:
Keywords: needs-patch
Depends on:
Blocks: 199601
  Show dependency treegraph
 
Reported: 2016-11-13 10:36 UTC by Jan Beich
Modified: 2016-11-20 21:06 UTC (History)
0 users

See Also:


Attachments
fix (1.94 KB, patch)
2016-11-20 03:06 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer freebsd_triage 2016-11-13 10:36:47 UTC
vendor/leatherman/logging/src/logging.cc:75:44: error: no matching constructor for initialization of 'sink_t' (aka 'synchronous_sink<leatherman::logging::color_writer>')
        boost::shared_ptr<sink_t> sink(new sink_t(&dst));
                                           ^      ~~~~
/usr/local/include/boost/log/sinks/sync_frontend.hpp:72:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'ostream *' (aka 'basic_ostream<char> *') to 'const boost::log::v2_mt_posix::sinks::synchronous_sink<leatherman::logging::color_writer>' for 1st argument
class synchronous_sink :
      ^
/usr/local/include/boost/log/sinks/sync_frontend.hpp:123:14: note: candidate constructor not viable: no known conversion from 'ostream *' (aka 'basic_ostream<char> *') to 'const shared_ptr<sink_backend_type>' for 1st argument
    explicit synchronous_sink(shared_ptr< sink_backend_type > const& backend) :
             ^
/usr/local/include/boost/log/sinks/sync_frontend.hpp:134:45: note: candidate template ignored: substitution failure [with T0 = std::__1::basic_ostream<char, std::__1::char_traits<char> > *]: no type named 'type' in 'boost::log::v2_mt_posix::aux::enable_if_named_parameters<std::__1::basic_ostream<char, std::__1::char_traits<char> > *, boost::log::v2_mt_posix::aux::sfinae_dummy>'
    BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL, ~)
                                            ^
/usr/local/include/boost/log/detail/parameter_tools.hpp:44:66: note: expanded from macro 'BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN'
        BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_PARAMETER_ARGS, macro, args)
                                                                 ^
/usr/local/include/boost/preprocessor/repetition/repeat_from_to.hpp:36:125: note: expanded from macro 'BOOST_PP_REPEAT_FROM_TO_1'
# define BOOST_PP_REPEAT_FROM_TO_1(f, l, m, dt) BOOST_PP_REPEAT_FROM_TO_D_1(BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256), f, l, m, dt)
                                                                                                                            ^
/usr/local/include/boost/preprocessor/repetition/repeat_from_to.hpp:54:136: note: expanded from macro 'BOOST_PP_REPEAT_FROM_TO_D_1'
#    define BOOST_PP_REPEAT_FROM_TO_D_1(d, f, l, m, dt) BOOST_PP_REPEAT_1(BOOST_PP_SUB_D(d, l, f), BOOST_PP_REPEAT_FROM_TO_M_1, (d, f, m, dt))
                                                                                                                                       ^
note: (skipping 25 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/usr/local/include/boost/preprocessor/control/iif.hpp:25:60: note: expanded from macro 'BOOST_PP_IIF_I'
#    define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
                                                           ^
/usr/local/include/boost/preprocessor/control/iif.hpp:32:31: note: expanded from macro 'BOOST_PP_IIF_1'
# define BOOST_PP_IIF_1(t, f) t
                              ^
/usr/local/include/boost/log/sinks/sync_frontend.hpp:51:14: note: expanded from macro 'BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1'
    explicit synchronous_sink(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
             ^                                                                                                                           ~~~~
/usr/local/include/boost/log/sinks/sync_frontend.hpp:134:45: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
/usr/local/include/boost/log/detail/parameter_tools.hpp:44:66: note: expanded from macro 'BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN'
        BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_PARAMETER_ARGS, macro, args)
                                                                 ^
Comment 2 Jan Beich freebsd_committer freebsd_triage 2016-11-20 03:06:32 UTC
Created attachment 177194 [details]
fix

(In reply to Antoine Brodin from comment #1)
poudriere bulk -t is green for head-amd64 + boost 1.55 (current), 10.1 i386 + boost 1.62 (upcoming)

I haven't tested runtime much beyond a simple crashtest on startup.
Comment 3 commit-hook freebsd_committer freebsd_triage 2016-11-20 20:58:58 UTC
A commit references this bug:

Author: jbeich
Date: Sun Nov 20 20:58:08 UTC 2016
New revision: 426627
URL: https://svnweb.freebsd.org/changeset/ports/426627

Log:
  sysutils/facter: unbreak build with boost 1.62

  vendor/leatherman/logging/src/logging.cc:75:44: error: no matching constructor for initialization of 'sink_t' (aka 'synchronous_sink<leatherman::logging::color_writer>')
          boost::shared_ptr<sink_t> sink(new sink_t(&dst));
                                             ^      ~~~~
  /usr/local/include/boost/log/sinks/sync_frontend.hpp:72:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'ostream *' (aka 'basic_ostream<char> *') to 'const boost::log::v2_mt_posix::sinks::synchronous_sink<leatherman::logging::color_writer>' for 1st argument
  class synchronous_sink :
        ^
  /usr/local/include/boost/log/sinks/sync_frontend.hpp:123:14: note: candidate constructor not viable: no known conversion from 'ostream *' (aka 'basic_ostream<char> *') to 'const shared_ptr<sink_backend_type>' for 1st argument
      explicit synchronous_sink(shared_ptr< sink_backend_type > const& backend) :
               ^
  /usr/local/include/boost/log/sinks/sync_frontend.hpp:134:45: note: candidate template ignored: substitution failure [with T0 = std::__1::basic_ostream<char, std::__1::char_traits<char> > *]: no type named 'type' in 'boost::log::v2_mt_posix::aux::enable_if_named_parameters<std::__1::basic_ostream<char, std::__1::char_traits<char> > *, boost::log::v2_mt_posix::aux::sfinae_dummy>'
      BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN(BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL, ~)
                                              ^
  /usr/local/include/boost/log/detail/parameter_tools.hpp:44:66: note: expanded from macro 'BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN'
          BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_PARAMETER_ARGS, macro, args)
                                                                   ^
  /usr/local/include/boost/preprocessor/repetition/repeat_from_to.hpp:36:125: note: expanded from macro 'BOOST_PP_REPEAT_FROM_TO_1'
                                                                                                                              ^
  /usr/local/include/boost/preprocessor/repetition/repeat_from_to.hpp:54:136: note: expanded from macro 'BOOST_PP_REPEAT_FROM_TO_D_1'
                                                                                                                                         ^
  note: (skipping 25 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
  /usr/local/include/boost/preprocessor/control/iif.hpp:25:60: note: expanded from macro 'BOOST_PP_IIF_I'
                                                             ^
  /usr/local/include/boost/preprocessor/control/iif.hpp:32:31: note: expanded from macro 'BOOST_PP_IIF_1'
                                ^
  /usr/local/include/boost/log/sinks/sync_frontend.hpp:51:14: note: expanded from macro 'BOOST_LOG_SINK_CTOR_FORWARD_INTERNAL_1'
      explicit synchronous_sink(T0 const& arg0, typename boost::log::aux::enable_if_named_parameters< T0, boost::log::aux::sfinae_dummy >::type = boost::log::aux::sfinae_dummy()) :\
               ^                                                                                                                           ~~~~
  /usr/local/include/boost/log/sinks/sync_frontend.hpp:134:45: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
  /usr/local/include/boost/log/detail/parameter_tools.hpp:44:66: note: expanded from macro 'BOOST_LOG_PARAMETRIZED_CONSTRUCTORS_GEN'
          BOOST_PP_REPEAT_FROM_TO(1, BOOST_LOG_MAX_PARAMETER_ARGS, macro, args)
                                                                   ^

  PR:		214469
  Submitted by:	antoine
  Obtained from:	upstream
  Approved by:	portmgr blanket

Changes:
  head/sysutils/facter/Makefile
  head/sysutils/facter/files/patch-vendor_leatherman_logging_src_logging.cc