Bug 224130 - games/wesnoth: fails to build with boost 1.66 on FreeBSD 10.3 and 10.4
Summary: games/wesnoth: fails to build with boost 1.66 on FreeBSD 10.3 and 10.4
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Torsten Zuehlsdorff
URL:
Keywords: needs-patch
Depends on:
Blocks: 223922
  Show dependency treegraph
 
Reported: 2017-12-05 21:25 UTC by Jan Beich
Modified: 2018-04-20 10:48 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2017-12-05 21:25:54 UTC
As part of exp-run in bug 223922 this port was found to break on Boost update. If the issue won't disappear on its own by Boost release I plan to mark the port as BROKEN. Can you check with upstream maintainer or help with a fix?

$ fetch -qo- 'https://reviews.freebsd.org/D13279?download=true' | patch -Efsp0 -d /usr/ports
$ make all deinstall install clean -C/usr/ports/devel/boost-libs
$ make -C/usr/ports/games/wesnoth
[...]
In file included from /usr/local/include/boost/variant/apply_visitor.hpp:17:0,
                 from src/config.hpp:38,
                 from src/serialization/schema_validator.hpp:21,
                 from src/tools/validator/validator_tool.cpp:15:
/usr/local/include/boost/variant/detail/apply_visitor_binary.hpp: In member function 'typename boost::enable_if_c<(MoveSemantics && boost::is_same<Value2, Value2>::value), typename Visitor::result_type>::type boost::detail::variant::apply_visitor_binary_unwrap<Visitor, Visitable2, MoveSemantics>::operator()(Value1&&)':
/usr/local/include/boost/variant/detail/apply_visitor_binary.hpp:137:17: error: 'is_lvalue_reference' is not a member of 'boost'
             , ! ::boost::is_lvalue_reference<Value1>::value
                 ^~
[...]

http://package23.nyi.freebsd.org/data/103i386-default-PR223922/2017-12-02_11h06m37s/logs/errors/wesnoth-1.12.6_7,1.log
http://package22.nyi.freebsd.org/data/103amd64-default-PR223922/2017-12-02_11h06m39s/logs/errors/wesnoth-1.12.6_7,1.log
http://package22.nyi.freebsd.org/data/111amd64-default-PR223922/2017-12-03_09h31m05s/logs/errors/wesnoth-1.12.6_7,1.log
http://package23.nyi.freebsd.org/data/111i386-default-PR223922/2017-12-03_09h31m14s/logs/errors/wesnoth-1.12.6_7,1.log
Comment 1 Torsten Zuehlsdorff freebsd_committer 2017-12-08 14:36:14 UTC
I opened an issue upstream since i'm not able to fix it myself:
https://github.com/wesnoth/wesnoth/issues/2280
Comment 2 Jan Beich freebsd_committer 2017-12-11 01:51:40 UTC
Appears to build fine with Boost 1.66.0 rc1: http://sprunge.us/CAZX
Comment 3 Jan Beich freebsd_committer 2017-12-15 02:56:04 UTC
Nah, old libc++ 3.4 remains broken on FreeBSD 10.*.

In file included from /usr/local/include/boost/asio/detail/executor_op.hpp:20:0,
                 from /usr/local/include/boost/asio/impl/system_executor.hpp:18,
                 from /usr/local/include/boost/asio/system_executor.hpp:129,
                 from /usr/local/include/boost/asio/associated_executor.hpp:21,
                 from /usr/local/include/boost/asio.hpp:21,
                 from src/network_asio.hpp:30,
                 from src/network_asio.cpp:21:
/usr/local/include/boost/asio/detail/resolve_query_op.hpp: In instantiation of 'static boost::asio::detail::resolve_query_op<Protocol, Handler>* boost::asio::detail::resolve_query_op<Protocol, Handler>::ptr::allocate(Handler&) [with Protocol = boost::asio::ip::tcp; Handler = boost::_bi::bind_t<void, boost::_mfi::mf2<void, network_asio::connection, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> >, boost::_bi::list3<boost::_bi::value<network_asio::connection*>, boost::arg<1>, boost::arg<2> > >]':
/usr/local/include/boost/asio/detail/resolver_service.hpp:96:24:   required from 'void boost::asio::detail::resolver_service<Protocol>::async_resolve(boost::asio::detail::resolver_service<Protocol>::implementation_type&, const query_type&, Handler&) [with Handler = boost::_bi::bind_t<void, boost::_mfi::mf2<void, network_asio::connection, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> >, boost::_bi::list3<boost::_bi::value<network_asio::connection*>, boost::arg<1>, boost::arg<2> > >; Protocol = boost::asio::ip::tcp; boost::asio::detail::resolver_service<Protocol>::implementation_type = std::__1::shared_ptr<void>; boost::asio::detail::resolver_service<Protocol>::query_type = boost::asio::ip::basic_resolver_query<boost::asio::ip::tcp>]'
/usr/local/include/boost/asio/ip/basic_resolver.hpp:645:5:   required from 'typename boost::asio::async_result<typename std::__1::decay<_Tp>::type, void(boost::system::error_code, boost::asio::ip::basic_resolver_results<Protocol>)>::return_type boost::asio::ip::basic_resolver<InternetProtocol>::async_resolve(const query&, ResolveHandler&&) [with ResolveHandler = boost::_bi::bind_t<void, boost::_mfi::mf2<void, network_asio::connection, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> >, boost::_bi::list3<boost::_bi::value<network_asio::connection*>, boost::arg<1>, boost::arg<2> > >; InternetProtocol = boost::asio::ip::tcp; typename boost::asio::async_result<typename std::__1::decay<_Tp>::type, void(boost::system::error_code, boost::asio::ip::basic_resolver_results<Protocol>)>::return_type = void; boost::asio::ip::basic_resolver<InternetProtocol>::query = boost::asio::ip::basic_resolver_query<boost::asio::ip::tcp>]'
src/network_asio.cpp:51:3:   required from here
/usr/local/include/boost/asio/detail/resolve_query_op.hpp:41:3: error: no matching function for call to 'std::__1::allocator_traits<boost::asio::detail::hook_allocator<boost::_bi::bind_t<void, boost::_mfi::mf2<void, network_asio::connection, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> >, boost::_bi::list3<boost::_bi::value<network_asio::connection*>, boost::arg<1>, boost::arg<2> > >, void> >::rebind_alloc<boost::asio::detail::resolve_query_op<boost::asio::ip::tcp, boost::_bi::bind_t<void, boost::_mfi::mf2<void, network_asio::connection, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> >, boost::_bi::list3<boost::_bi::value<network_asio::connection*>, boost::arg<1>, boost::arg<2> > > > >::rebind_alloc(boost::asio::detail::get_hook_allocator<boost::_bi::bind_t<void, boost::_mfi::mf2<void, network_asio::connection, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> >, boost::_bi::list3<boost::_bi::value<network_asio::connection*>, boost::arg<1>, boost::arg<2> > >, std::__1::allocator<void> >::type)'
   BOOST_ASIO_DEFINE_HANDLER_PTR(resolve_query_op);
   ^

10.3 i386 build log  (failure) - https://clbin.com/gNBvm
10.4 amd64 build log (failure) - https://clbin.com/FgXMh
11.1 i386 build log  (success) - https://clbin.com/HKewZ
11.1 amd64 build log (success) - https://clbin.com/1inba
Comment 4 Jan Beich freebsd_committer 2017-12-15 03:03:10 UTC
Disabling TOOLS option doesn't help, see https://clbin.com/xY5Mx
Comment 5 Torsten Zuehlsdorff freebsd_committer 2018-04-19 11:32:23 UTC
The blocked isse 223922 is already closed and the update to 1.67 was committed. With it games/wesnoth compiles fine.

Therefore i'm closing the PR.
Comment 6 Jan Beich freebsd_committer 2018-04-20 02:45:52 UTC
(In reply to Torsten Zuehlsdorff from comment #5)
> With it games/wesnoth compiles fine.

Did you miss BROKEN_FreeBSD_10 in games/wesnoth/Makefile? See https://ptpb.pw/cDyE
Comment 7 Torsten Zuehlsdorff freebsd_committer 2018-04-20 10:27:56 UTC
(In reply to Jan Beich from comment #6)

> Did you miss BROKEN_FreeBSD_10 in games/wesnoth/Makefile?

Yes, i did. Thanks for the pointer.

I created a new issue upstream.
Comment 8 Torsten Zuehlsdorff freebsd_committer 2018-04-20 10:48:14 UTC
Now i'm missing a "Wont Fix" label. 

After a short issue discussion with the developer i will not work on this issue. The next release of wesnoth will be tagged in 5 days and has major changes:
https://github.com/wesnoth/wesnoth/issues/2923

A user already send me a working build for the current dev branch, on which the next tag will rely. So i will look forward to the next release and try to get it work there.