Bug 236588 - net-p2p/libtorrent-rasterbar: fails to build with boost 1.70
Summary: net-p2p/libtorrent-rasterbar: fails to build with boost 1.70
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: Jan Beich
URL:
Keywords: needs-patch, regression
Depends on:
Blocks: 235956
  Show dependency treegraph
 
Reported: 2019-03-17 05:27 UTC by Jan Beich
Modified: 2019-09-11 12:50 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (yuri)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2019-03-17 05:27:15 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/net-p2p/libtorrent-rasterbar
[...]
In file included from .../work/libtorrent-rasterbar-1.1.10/src/alert.cpp:43:
In file included from .../work/libtorrent-rasterbar-1.1.10/include/libtorrent/torrent.hpp:59:
In file included from .../work/libtorrent-rasterbar-1.1.10/include/libtorrent/tracker_manager.hpp:74:
.../work/libtorrent-rasterbar-1.1.10/include/libtorrent/udp_socket.hpp:83:53: error: no member named 'get_io_service' in 'boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::executor>'
                io_service& get_io_service() { return m_ipv4_sock.get_io_service(); }
                                                      ~~~~~~~~~~~ ^
In file included from .../work/libtorrent-rasterbar-1.1.10/src/alert.cpp:43:
In file included from .../work/libtorrent-rasterbar-1.1.10/include/libtorrent/torrent.hpp:59:
.../work/libtorrent-rasterbar-1.1.10/include/libtorrent/tracker_manager.hpp:287:51: error: no member named 'get_io_service' in 'boost::asio::basic_waitable_timer<std::__1::chrono::steady_clock, boost::asio::wait_traits<std::__1::chrono::steady_clock>, boost::asio::executor>'
                io_service& get_io_service() { return m_timeout.get_io_service(); }
                                                      ~~~~~~~~~ ^
2 errors generated.
Comment 1 Yuri Victorovich freebsd_committer 2019-03-17 08:25:47 UTC
There's libtorrent-rasterbar-1.2.0 available, that likely has the boost compatibility fixed.

However, qBittorrent doesn't support it yet: https://github.com/qbittorrent/qBittorrent/issues/10199
Comment 2 Jan Beich freebsd_committer 2019-03-17 11:53:34 UTC
(In reply to Yuri Victorovich from comment #1)
> There's libtorrent-rasterbar-1.2.0 available, that likely has the
> boost compatibility fixed.

As reported upstream no branch has a fix yet. master did get rid of get_io_service() but is affected by another bustage.

In file included from .../work/libtorrent-rasterbar-1.2.0/src/web_connection_base.cpp:38:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/web_connection_base.hpp:43:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/torrent.hpp:51:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/peer_list.hpp:47:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/ip_voter.hpp:40:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/aux_/session_interface.hpp:46:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/aux_/session_udp_sockets.hpp:36:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/utp_socket_manager.hpp:39:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/aux_/socket_type.hpp:39:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/socks5_stream.hpp:38:
.../work/libtorrent-rasterbar-1.2.0/include/libtorrent/proxy_base.hpp:249:17: error: no member named 'get_io_service' in 'boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>'
                return m_sock.get_io_service();
                       ~~~~~~ ^
In file included from .../work/libtorrent-rasterbar-1.2.0/src/web_connection_base.cpp:38:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/web_connection_base.hpp:43:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/torrent.hpp:51:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/peer_list.hpp:47:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/ip_voter.hpp:40:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/aux_/session_interface.hpp:46:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/aux_/session_udp_sockets.hpp:36:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/utp_socket_manager.hpp:39:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/aux_/socket_type.hpp:42:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/utp_stream.hpp:37:
.../work/libtorrent-rasterbar-1.2.0/include/libtorrent/udp_socket.hpp:64:50: error: no member named 'get_io_service' in 'boost::asio::basic_datagram_socket<boost::asio::ip::udp, boost::asio::executor>'
                io_service& get_io_service() { return m_socket.get_io_service(); }
                                                      ~~~~~~~~ ^
In file included from .../work/libtorrent-rasterbar-1.2.0/src/web_connection_base.cpp:38:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/web_connection_base.hpp:43:
In file included from .../work/libtorrent-rasterbar-1.2.0/include/libtorrent/torrent.hpp:52:
.../work/libtorrent-rasterbar-1.2.0/include/libtorrent/tracker_manager.hpp:262:51: error: no member named 'get_io_service' in 'boost::asio::basic_waitable_timer<std::__1::chrono::steady_clock, boost::asio::wait_traits<std::__1::chrono::steady_clock>, boost::asio::executor>'
                io_service& get_io_service() { return m_timeout.get_io_service(); }
                                                      ~~~~~~~~~ ^
3 errors generated.
Comment 3 Jan Beich freebsd_committer 2019-04-12 09:44:17 UTC
The port has been marked BROKEN in ports r498698.
Comment 4 Yuri Victorovich freebsd_committer 2019-04-12 16:23:27 UTC
libtorrent-rasterbar can't be updated pending a series of qBittorrent pull requests https://github.com/qbittorrent/qBittorrent/pull/10373
Comment 5 commit-hook freebsd_committer 2019-04-20 02:07:20 UTC
A commit references this bug:

Author: jbeich
Date: Sat Apr 20 02:06:38 UTC 2019
New revision: 499423
URL: https://svnweb.freebsd.org/changeset/ports/499423

Log:
  net-p2p/libtorrent-rasterbar: unbreak

  PR:		236588
  Obtained from:	upstream

Changes:
  head/net-p2p/libtorrent-rasterbar/Makefile
  head/net-p2p/libtorrent-rasterbar/files/patch-boost-1.70
Comment 6 Jan Beich freebsd_committer 2019-04-20 02:08:07 UTC
Consumers built fine with Boost 1.70. I didn't test runtime but at least net-p2p/qbittorrent doesn't crash on startup.
Comment 7 staticwizard 2019-09-11 12:28:16 UTC
Hi,

I've encountered a compile problem while including the headers of libtorrent.
I've tracked it down to a single header still including the endian.hpp file.

The github issue is at https://github.com/arvidn/libtorrent/pull/3593/files.
Maybe you can include the removal of the line together with the Boost 1.70 patch for libtorrent?

Thanks.
Comment 8 Jan Beich freebsd_committer 2019-09-11 12:40:27 UTC
Better file a separate bug documenting compile error. I don't maintain this port.
Comment 9 staticwizard 2019-09-11 12:50:23 UTC
(In reply to Jan Beich from comment #8)

I'm sorry, I thought we were the maintainer. I'll open a new bug report as requested.