[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