Summary: | games/pokerth: fails to build with boost 1.66 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> | ||||||
Component: | Individual Port(s) | Assignee: | Guido Falsi <madpilot> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | CC: | madpilot | ||||||
Priority: | --- | Keywords: | needs-patch | ||||||
Version: | Latest | Flags: | madpilot:
maintainer-feedback+
|
||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
See Also: | https://github.com/pokerth/pokerth/issues/338 | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 223922 | ||||||||
Attachments: |
|
Description
Jan Beich
![]() ![]() Maybe you can replace io_service with io_context similar to https://github.com/arvidn/libtorrent/commit/f42b63c7ea82 Hi, Thanks for the information, I'll be looking at it. Unluckily I won't be able to really do much about this before the weekend. But I'm definitely going to look at this. I did create a patch, but right now I'm unable to test it because pokerth is broken by the recent devel/protobuf update. I'm investigating that too. Created attachment 188819 [details]
Proposed fix
I created a patch which compiles fine with the current ports tree.
I'm not completely sure it's correct for new boost though.
I still have to test it with the new boost patch applied.
Comment on attachment 188819 [details] Proposed fix Not enough, tested against Boost 1.66.0 rc2. src/third_party/websocketpp/websocketpp/transport/asio/connection.hpp:430:32: error: no type named 'strand' in namespace 'boost::asio'; did you mean 'boost::asio::detail::executor_memfns_derived<io_context>::strand'? m_strand.reset(new boost::asio::strand(*io_service)); ^~~~~~~~~~~~~~~~~~~ boost::asio::detail::executor_memfns_derived<io_context>::strand /usr/local/include/boost/asio/io_context_strand.hpp:89:19: note: 'boost::asio::detail::executor_memfns_derived<io_context>::strand' declared here class io_context::strand ^ src/net/common/clientthread.cpp:990:3: error: no member named 'non_blocking_io' in 'boost::asio::socket_base'; did you mean 'boost::asio::basic_socket<tcp>::non_blocking'? boost::asio::socket_base::non_blocking_io command(true); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ boost::asio::basic_socket<tcp>::non_blocking /usr/local/include/boost/asio/basic_socket.hpp:1154:8: note: 'boost::asio::basic_socket<tcp>::non_blocking' declared here bool non_blocking() const ^ 10.3 i386 build log - https://clbin.com/VIMo1 11.1 amd64 build log - https://clbin.com/TV8L3 There is a new version of pokerth available which has good chances of fixing this issue. I have committed it in r457460 [1]. Could you test with that one without additional changes? Thanks in advance! [1] https://svnweb.freebsd.org/ports?view=revision&revision=457460 No joy with pokerth-1.1.2. 10.3 amd64 - https://ptpb.pw/-y56 10.3 i386 - https://ptpb.pw/M0yn 11.1 amd64 - https://ptpb.pw/awP8 11.1 i386 - https://ptpb.pw/J-C9 12.0 amd64 - https://ptpb.pw/jhxF src/net/common/clientthread.cpp:996:3: error: no member named 'non_blocking_io' in 'boost::asio::socket_base'; did you mean 'boost::asio::basic_socket<tcp>::non_blocking'? boost::asio::socket_base::non_blocking_io command(true); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ boost::asio::basic_socket<tcp>::non_blocking /usr/local/include/boost/asio/basic_socket.hpp:1154:8: note: 'boost::asio::basic_socket<tcp>::non_blocking' declared here bool non_blocking() const ^ src/net/common/clientthread.cpp:996:29: error: call to non-static member function without an object argument boost::asio::socket_base::non_blocking_io command(true); ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ src/net/common/clientthread.cpp:997:23: error: use of undeclared identifier 'command' newSock->io_control(command); ^ 3 errors generated. (In reply to Jan Beich from comment #7) > No joy with pokerth-1.1.2. > > 10.3 amd64 - https://ptpb.pw/-y56 > 10.3 i386 - https://ptpb.pw/M0yn > 11.1 amd64 - https://ptpb.pw/awP8 > 11.1 i386 - https://ptpb.pw/J-C9 > 12.0 amd64 - https://ptpb.pw/jhxF > > src/net/common/clientthread.cpp:996:3: error: no member named > 'non_blocking_io' in 'boost::asio::socket_base'; did you mean > 'boost::asio::basic_socket<tcp>::non_blocking'? > boost::asio::socket_base::non_blocking_io command(true); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > boost::asio::basic_socket<tcp>::non_blocking > /usr/local/include/boost/asio/basic_socket.hpp:1154:8: note: > 'boost::asio::basic_socket<tcp>::non_blocking' declared here > bool non_blocking() const > ^ > src/net/common/clientthread.cpp:996:29: error: call to non-static member > function without an object argument > boost::asio::socket_base::non_blocking_io command(true); > ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ > src/net/common/clientthread.cpp:997:23: error: use of undeclared identifier > 'command' > newSock->io_control(command); > ^ > 3 errors generated. This looks slightly better though. The websocketpp part is not spitting errors now, so this is a different issue. Created attachment 189215 [details]
Upstream fix
I have imported the fixes suggested upstream. Thanks for the pointer!
I wrapped them in ifdefs. These should work fine.
Comment on attachment 189215 [details] Upstream fix I confirm, this fixes the build with Boost 1.66. 10.3 amd64 - http://tpaste.us/L6va 10.3 i386 - http://tpaste.us/ZPVa 11.1 amd64 - http://tpaste.us/lWMX 11.1 i386 - http://tpaste.us/dVjy 12.0 amd64 - http://tpaste.us/4q04 (In reply to Jan Beich from comment #10) > Comment on attachment 189215 [details] > Upstream fix > > I confirm, this fixes the build with Boost 1.66. > Great! Thanks you for the testing. I'll test it a little more and commit to the tree, since it's actually a noop at present. So this PR can be closed. A commit references this bug: Author: madpilot Date: Sun Dec 31 13:28:37 UTC 2017 New revision: 457690 URL: https://svnweb.freebsd.org/changeset/ports/457690 Log: Add patches to fix pokerth build with upcoming boost 1.66. This is a NOP with the current boost version. PR: 224123 Submitted by: jbeich@ Obtained from: https://github.com/pokerth/pokerth/issues/338 Changes: head/games/pokerth/files/patch-src_net_common_clientthread.cpp head/games/pokerth/files/patch-src_net_serveraccepthelper.h Patch committed to the tree. Thanks for you help and support! |