Bug 236601

Summary: comms/gnuradio: fails to build with boost 1.70
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: hamradio (Nobody) <hamradio>
Status: Closed FIXED    
Severity: Affects Only Me CC: db, fixer, yuri
Priority: --- Keywords: needs-patch, regression
Version: LatestFlags: bugzilla: maintainer-feedback? (hamradio)
Hardware: Any   
OS: Any   
URL: https://github.com/gnuradio/gnuradio/issues/2446
See Also: https://github.com/gnuradio/gnuradio/issues/2408
Bug Depends on:    
Bug Blocks: 235956    

Description Jan Beich freebsd_committer freebsd_triage 2019-03-17 14:43:29 UTC
While preparing for Boost upgrade this port failed to build. Can you help to avoid marking it as BROKEN?

$ fetch -qo- 'https://reviews.freebsd.org/D19303?download=true' |
  patch -Efsp0 -d /usr/ports
$ make all deinstall install clean -C/usr/ports/devel/boost-jam
$ make all deinstall install clean -C/usr/ports/devel/boost-libs
$ make -C/usr/ports/comms/gnuradio
[...]
.../work/gnuradio-a664001/gr-blocks/lib/socket_pdu_impl.cc:168:82: error: no member named 'get_io_service' in 'boost::asio::basic_socket_acceptor<boost::asio::ip::tcp, boost::asio::executor>'
      tcp_connection::sptr new_connection = tcp_connection::make(d_acceptor_tcp->get_io_service(), d_rxbuf.size(), d_tcp_no_delay);
                                                                 ~~~~~~~~~~~~~~  ^
1 error generated.
Comment 1 Diane Bruce freebsd_committer freebsd_triage 2019-03-18 12:37:23 UTC
I'll look ASAP.
Comment 2 Jan Beich freebsd_committer freebsd_triage 2019-04-12 09:44:18 UTC
The port has been marked BROKEN in ports r498698.
Comment 3 Jan Beich freebsd_committer freebsd_triage 2019-04-12 13:44:04 UTC
Yuri, See Also field already had link to upstream bug. Some ports are fixed using Monero approach but I'm not sure if it's correct given https://github.com/boostorg/asio/commit/59066d80b26e

#if BOOST_VERSION >= 107000
#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
#else
#define GET_IO_SERVICE(s) ((s).get_io_service())
#endif