[MacPorts] #69698: Boost181 provokes build errors in libtorrent-rasterbar and qBittorrent
MacPorts
noreply at macports.org
Tue Apr 9 13:58:13 UTC 2024
#69698: Boost181 provokes build errors in libtorrent-rasterbar and qBittorrent
-------------------------+-------------------------------------------------
Reporter: Gandoon | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.9.3
Keywords: | Port: boost181 libtorrent-rasterbar
| qBittorrent
-------------------------+-------------------------------------------------
A few days ago I started having issues upgrading `qBittorrent`, at the
time the revision updated `libtorrent-rasterbar @2.0.10_1+python312` was
still not available. As the latter became available and I get the same
errors trying to build that, I now note that I seem to have either an
issue with `boost181` or with both `libtorrent-rasterbar` ''and''
`qBittorrent`. Consequently, I tried a forced rebuild of `boost181` and I
also tried various `+` options. I now have the following at my disposal:
{{{
port -v installed boost181
The following ports are currently installed:
boost181
@1.81.0_10+clang13+cmake_scripts+no_single+no_static+python312+regex_match_extra
requested_variants='+clang13+cmake_scripts+regex_match_extra'
platform='darwin 19' archs='x86_64' date='2024-04-05T11:17:14+0200'
boost181 @1.81.0_10+clang17+cmake_scripts+no_single+no_static+python312
(active) requested_variants='+clang17+cmake_scripts' platform='darwin 19'
archs='x86_64' date='2024-04-09T12:51:37+0200'
boost181
@1.81.0_10+clang17+cmake_scripts+no_single+no_static+python312+regex_match_extra
requested_variants='+clang17+cmake_scripts+regex_match_extra'
platform='darwin 19' archs='x86_64' date='2024-04-04T13:23:17+0200'
boost181 @1.81.0_10+clang17+mpich+no_single+no_static+python312
requested_variants='+clang17+mpich+python312' platform='darwin 19'
archs='x86_64' date='2024-03-25T14:39:17+0100'
}}}
Neither of which results in a working build of `libtorrent-rasterbar` or
`qBittorrent`. However, since every single failed build point is making a
reference to `boost`, I have a strong feeling that this might indeed be
mainly an issue with `boost181` and not the dependent ports. I did see
another user having an issue with building specifically `libtorrent-
rasterbar` at #69569 that was due to a python mismatch. It would be
interesting to hear if that user had any luck after rebuilding with
`+python312`.
Searching for answers, another issue also popped up, as referenced in
#68518 regarding C++11 or later. As can be seen here:
[https://en.cppreference.com/w/cpp/types/result_of], one possible culprit
may be the deprecation of `std::result_of` as of C++20 (if I managed to
decipher the references correctly) and that instead something along the
lines of `std::invoke_result` should have been used instead. I am thus
making a final test, rebuilding `boost181` with `+clang11` as I found some
hints ([https://github.com/opencv/opencv/issues/21109]) at
`std::result_of` might be available if using pre-Clang 13, but as expected
that did not help either. In the Portfile C++14 seems to be requested:
{{{
# ensure that compiler is using C++14 mode
configure.cxxflags-append -std=c++14
}}}
so, as it is before C++20, I did not expect this to be a problem.
I am not really sure what changed between the revisions, as I have
`libtorrent-rasterbar @2.0.10_0+python312 requested_variants=''
platform='darwin 19' archs='x86_64' date='2024-04-04T14:31:31+0200'`
successfully built here.
An example of the multiple errors of the same type thrown for both ports,
referencing boost:
{{{
In file included from
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_release_tarballs_ports_net_libtorrent-rasterbar/libtorrent-
rasterbar/work/libtorrent-rasterbar-2.0.10/src/announce_entry.cpp:36:
In file included from
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_release_tarballs_ports_net_libtorrent-rasterbar/libtorrent-
rasterbar/work/libtorrent-
rasterbar-2.0.10/include/libtorrent/announce_entry.hpp:43:
In file included from
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports
.org_release_tarballs_ports_net_libtorrent-rasterbar/libtorrent-
rasterbar/work/libtorrent-
rasterbar-2.0.10/include/libtorrent/socket.hpp:56:
In file included from /opt/local/include/boost/asio/ip/tcp.hpp:19:
In file included from
/opt/local/include/boost/asio/basic_socket_acceptor.hpp:19:
In file included from
/opt/local/include/boost/asio/any_io_executor.hpp:22:
In file included from /opt/local/include/boost/asio/execution.hpp:18:
In file included from
/opt/local/include/boost/asio/execution/allocator.hpp:19:
/opt/local/include/boost/asio/detail/type_traits.hpp:89:7: error: no
member named 'result_of' in namespace 'boost'; did you mean
'std::result_of'?
using boost::result_of;
^~~~~~~~~~~~~~~~
std::result_of
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/type_traits:2527:34:
note: 'std::result_of' declared here
template <class _Callable> class result_of;
^
}}}
--
Ticket URL: <https://trac.macports.org/ticket/69698>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list