boost-1.87.0.beta1 libtorrent RC_1_2
Build error
cmake boost-1.87.0.beta1 libtorrent RC_1_2
-- Configuring done (0.8s)
-- Generating done (0.0s)
Generate graphviz: /root/qbt-build/graphs/libtorrent/RC_1_2/dep-graph.dot
-- Build files have been written to: /root/qbt-build/libtorrent/build
[1/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/assert.cpp.o
[2/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/bandwidth_limit.cpp.o
[3/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/bandwidth_queue_entry.cpp.o
[4/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/bandwidth_manager.cpp.o
[5/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/bitfield.cpp.o
[6/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/bdecode.cpp.o
[7/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/alert.cpp.o
FAILED: CMakeFiles/torrent-rasterbar.dir/src/alert.cpp.o
/root/qbt-build/bin/i[68](https://github.com/userdocs/qbittorrent-nox-static-test/actions/runs/11870457449/job/33081885929#step:18:69)6-linux-musl-g++ -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_EXCEPTION_DISABLE -DTORRENT_BUILDING_LIBRARY -DTORRENT_USE_ICONV -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -D_FILE_OFFSET_BITS=64 -I/root/qbt-build/libtorrent/include -I/root/qbt-build/boost -std=c++20 -static -w -Wno-psabi -I/root/qbt-build/include -O3 -DNDEBUG -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wpedantic -Wvla -Wno-format-zero-length -ftemplate-depth=512 -fexceptions -MD -MT CMakeFiles/torrent-rasterbar.dir/src/alert.cpp.o -MF CMakeFiles/torrent-rasterbar.dir/src/alert.cpp.o.d -o CMakeFiles/torrent-rasterbar.dir/src/alert.cpp.o -c /root/qbt-build/libtorrent/src/alert.cpp
In file included from /root/qbt-build/libtorrent/include/libtorrent/aux_/session_interface.hpp:39,
from /root/qbt-build/libtorrent/include/libtorrent/ip_voter.hpp:40,
from /root/qbt-build/libtorrent/include/libtorrent/peer_list.hpp:47,
from /root/qbt-build/libtorrent/include/libtorrent/torrent.hpp:51,
from /root/qbt-build/libtorrent/src/alert.cpp:42:
/root/qbt-build/libtorrent/include/libtorrent/io_service.hpp:40:10: fatal error: boost/asio/io_service.hpp: No such file or directory
40 | #include <boost/asio/io_service.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[8/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/announce_entry.cpp.o
[9/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/alert_manager.cpp.o
FAILED: CMakeFiles/torrent-rasterbar.dir/src/alert_manager.cpp.o
/root/qbt-build/bin/i6[86](https://github.com/userdocs/qbittorrent-nox-static-test/actions/runs/11870457449/job/33081885929#step:18:87)-linux-musl-g++ -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_EXCEPTION_DISABLE -DTORRENT_BUILDING_LIBRARY -DTORRENT_USE_ICONV -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -D_FILE_OFFSET_BITS=64 -I/root/qbt-build/libtorrent/include -I/root/qbt-build/boost -std=c++20 -static -w -Wno-psabi -I/root/qbt-build/include -O3 -DNDEBUG -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wpedantic -Wvla -Wno-format-zero-length -ftemplate-depth=512 -fexceptions -MD -MT CMakeFiles/torrent-rasterbar.dir/src/alert_manager.cpp.o -MF CMakeFiles/torrent-rasterbar.dir/src/alert_manager.cpp.o.d -o CMakeFiles/torrent-rasterbar.dir/src/alert_manager.cpp.o -c /root/qbt-build/libtorrent/src/alert_manager.cpp
In file included from /root/qbt-build/libtorrent/include/libtorrent/torrent_handle.hpp:62,
from /root/qbt-build/libtorrent/include/libtorrent/alert_types.hpp:38,
from /root/qbt-build/libtorrent/include/libtorrent/alert_manager.hpp:40,
from /root/qbt-build/libtorrent/src/alert_manager.cpp:34:
/root/qbt-build/libtorrent/include/libtorrent/broadcast_socket.hpp: In member function 'boost::asio::ip::address_v4 libtorrent::broadcast_socket::socket_entry::broadcast_address() const':
/root/qbt-build/libtorrent/include/libtorrent/broadcast_socket.hpp:125:61: error: no matching function for call to 'boost::asio::ip::address_v4::broadcast(boost::asio::ip::address_v4, const boost::asio::ip::address_v4&) const'
[125](https://github.com/userdocs/qbittorrent-nox-static-test/actions/runs/11870457449/job/33081885929#step:18:126) | return address_v4::broadcast(socket->local_endpoint(ec).address().to_v4(), netmask);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/qbt-build/boost/boost/asio/ip/address.hpp:25,
from /root/qbt-build/libtorrent/include/libtorrent/address.hpp:45,
from /root/qbt-build/libtorrent/include/libtorrent/torrent_handle.hpp:51:
/root/qbt-build/boost/boost/asio/ip/address_v4.hpp:249:21: note: candidate: 'static boost::asio::ip::address_v4 boost::asio::ip::address_v4::broadcast()'
249 | static address_v4 broadcast() noexcept
| ^~~~~~~~~
/root/qbt-build/boost/boost/asio/ip/address_v4.hpp:249:21: note: candidate expects 0 arguments, 2 provided
[10/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/block_cache.cpp.o
FAILED: CMakeFiles/torrent-rasterbar.dir/src/block_cache.cpp.o
/root/qbt-build/bin/i686-linux-musl-g++ -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_EXCEPTION_DISABLE -DTORRENT_BUILDING_LIBRARY -DTORRENT_USE_ICONV -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -D_FILE_OFFSET_BITS=64 -I/root/qbt-build/libtorrent/include -I/root/qbt-build/boost -std=c++20 -static -w -Wno-psabi -I/root/qbt-build/include -O3 -DNDEBUG -std=gnu++20 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wpedantic -Wvla -Wno-format-zero-length -ftemplate-depth=512 -fexceptions -MD -MT CMakeFiles/torrent-rasterbar.dir/src/block_cache.cpp.o -MF CMakeFiles/torrent-rasterbar.dir/src/block_cache.cpp.o.d -o CMakeFiles/torrent-rasterbar.dir/src/block_cache.cpp.o -c /root/qbt-build/libtorrent/src/block_cache.cpp
In file included from /root/qbt-build/libtorrent/include/libtorrent/disk_io_thread.hpp:40,
from /root/qbt-build/libtorrent/src/block_cache.cpp:39:
/root/qbt-build/libtorrent/include/libtorrent/io_service.hpp:40:10: fatal error: boost/asio/io_service.hpp: No such file or directory
40 | #include <boost/asio/io_service.hpp>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[11/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/bloom_filter.cpp.o
[12/156] Building CXX object CMakeFiles/torrent-rasterbar.dir/src/add_torrent_params.cpp.o
ninja: build stopped: subcommand failed.
MSVC Output (Boost 1.87.0 Beta 1 / RC_1_2 Branch) from Windows build:
-- Build files have been written to: D:/a/qBittorrent/libtorrent/build
[1/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\assert.cpp.obj
[2/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\bandwidth_limit.cpp.obj
[3/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\bandwidth_manager.cpp.obj
[4/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\bandwidth_queue_entry.cpp.obj
[5/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\bdecode.cpp.obj
[6/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\bitfield.cpp.obj
[7/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\block_cache.cpp.obj
FAILED: CMakeFiles/torrent-rasterbar.dir/src/block_cache.cpp.obj
C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\x64\cl.exe /nologo /TP -DBOOST_ALL_NO_LIB -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_EXCEPTION_DISABLE -DTORRENT_BUILDING_LIBRARY -DTORRENT_NO_DEPRECATE -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_FILE_OFFSET_BITS=64 -D_SCL_SECURE_NO_DEPRECATE -D_WIN32_WINNT=0x0600 -ID:\a\qBittorrent\libtorrent\include -ID:\a\qBittorrent\boost -external:IC:\vcpkg\installed\x64-windows-static-md-release\include -external:W0 /guard:cf /DWIN32 /D_WINDOWS /GR /EHsc /Zi /O2 /Ob1 /DNDEBUG -MD /W4 /wd4251 /wd4268 /wd4275 /wd4373 /wd4503 /bigobj /permissive- /utf-8 /Zc:__cplusplus /EHsc /showIncludes /FoCMakeFiles\torrent-rasterbar.dir\src\block_cache.cpp.obj /Fdtorrent-rasterbar.pdb /FS -c D:\a\qBittorrent\libtorrent\src\block_cache.cpp
D:\a\qBittorrent\libtorrent\include\libtorrent/io_service.hpp(40): fatal error C1083: Cannot open include file: 'boost/asio/io_service.hpp': No such file or directory
[8/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\alert_manager.cpp.obj
FAILED: CMakeFiles/torrent-rasterbar.dir/src/alert_manager.cpp.obj
C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\x64\cl.exe /nologo /TP -DBOOST_ALL_NO_LIB -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_EXCEPTION_DISABLE -DTORRENT_BUILDING_LIBRARY -DTORRENT_NO_DEPRECATE -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_FILE_OFFSET_BITS=64 -D_SCL_SECURE_NO_DEPRECATE -D_WIN32_WINNT=0x0600 -ID:\a\qBittorrent\libtorrent\include -ID:\a\qBittorrent\boost -external:IC:\vcpkg\installed\x64-windows-static-md-release\include -external:W0 /guard:cf /DWIN32 /D_WINDOWS /GR /EHsc /Zi /O2 /Ob1 /DNDEBUG -MD /W4 /wd4251 /wd4268 /wd4275 /wd4373 /wd4503 /bigobj /permissive- /utf-8 /Zc:__cplusplus /EHsc /showIncludes /FoCMakeFiles\torrent-rasterbar.dir\src\alert_manager.cpp.obj /Fdtorrent-rasterbar.pdb /FS -c D:\a\qBittorrent\libtorrent\src\alert_manager.cpp
D:\a\qBittorrent\libtorrent\include\libtorrent/broadcast_socket.hpp(125): error C2660: 'boost::asio::ip::address_v4::broadcast': function does not take 2 arguments
D:\a\qBittorrent\boost\boost/asio/ip/address_v4.hpp(249): note: see declaration of 'boost::asio::ip::address_v4::broadcast'
D:\a\qBittorrent\libtorrent\include\libtorrent/broadcast_socket.hpp(125): note: while trying to match the argument list '(boost::asio::ip::address_v4, const boost::asio::ip::address_v4)'
[9/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\announce_entry.cpp.obj
[10/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\alert.cpp.obj
FAILED: CMakeFiles/torrent-rasterbar.dir/src/alert.cpp.obj
C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\x64\cl.exe /nologo /TP -DBOOST_ALL_NO_LIB -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_EXCEPTION_DISABLE -DTORRENT_BUILDING_LIBRARY -DTORRENT_NO_DEPRECATE -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_FILE_OFFSET_BITS=64 -D_SCL_SECURE_NO_DEPRECATE -D_WIN32_WINNT=0x0600 -ID:\a\qBittorrent\libtorrent\include -ID:\a\qBittorrent\boost -external:IC:\vcpkg\installed\x64-windows-static-md-release\include -external:W0 /guard:cf /DWIN32 /D_WINDOWS /GR /EHsc /Zi /O2 /Ob1 /DNDEBUG -MD /W4 /wd4251 /wd4268 /wd4275 /wd4373 /wd4503 /bigobj /permissive- /utf-8 /Zc:__cplusplus /EHsc /showIncludes /FoCMakeFiles\torrent-rasterbar.dir\src\alert.cpp.obj /Fdtorrent-rasterbar.pdb /FS -c D:\a\qBittorrent\libtorrent\src\alert.cpp
D:\a\qBittorrent\libtorrent\include\libtorrent/broadcast_socket.hpp(125): error C2660: 'boost::asio::ip::address_v4::broadcast': function does not take 2 arguments
D:\a\qBittorrent\boost\boost/asio/ip/address_v4.hpp(249): note: see declaration of 'boost::asio::ip::address_v4::broadcast'
D:\a\qBittorrent\libtorrent\include\libtorrent/broadcast_socket.hpp(125): note: while trying to match the argument list '(boost::asio::ip::address_v4, const boost::asio::ip::address_v4)'
D:\a\qBittorrent\libtorrent\include\libtorrent/io_service.hpp(40): fatal error C1083: Cannot open include file: 'boost/asio/io_service.hpp': No such file or directory
[11/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\bloom_filter.cpp.obj
[12/156] Building CXX object CMakeFiles\torrent-rasterbar.dir\src\add_torrent_params.cpp.obj
ninja: build stopped: subcommand failed.
-- Install configuration: "RelWithDebInfo"
RC_2_0 doesn't have this issue.
I updated title, I was not actually using v1.2.19 it was RC_1_2
https://github.com/boostorg/asio/commit/73bba842b9d165ad1ba8be0e571fb807b71d0bd1#diff-6e6a90601914ff7c360a3ae54062f6c22ee7ffc75c1102b8e6980a25afc904eaR95
Boost 1.87.0 is officially G.A. now.
I don't think there is any will or intention to update RC_1_2 and whatever time is given will be to RC_2_0.
So I guess RC_1_2 will be stuck using 1.86.0.
FYI, this is the commit that changed io_service to io_context in RC_2_0: https://github.com/arvidn/libtorrent/commit/d0e95ea6982235580f9ca120a5859232f7db6ce5
Could one of you brave souls try to backport it and make a PR?
I'm under the impression that there is no desire to update RC_1_2 any more let alone release another version.
We don't see much of arvidn at this time either. Seems busy irl.
So, I have a question before this was even attempted: Would @arvidn even care for this to be done and support towards a new release of RC_1_2
If not, i'm not sure it's even worth the effort.
RC_1_2 needs a bit of work put in to it, as the CI has lagged behind in updates/fixes too or have been removed/broken.
This is not the first time that potential compatibility issues have arisen with RC_1_2 branch.
- #6805
- #7559
There's a fair amount of work involved in updating to the new boost.asio API. The simple parts are:
io_service->io_contextio_service::post(...)->post(ioc, ...)io_service::reset()->io_context::restart()
There are many more changes, but they've all been made in RC_2_0 and later. Another part of it is to update the libsimulator submdule to a version that implements the new API.
I'd be happy to review a PR if anyone wants to give this a stab. Technically, though, it would be an ABI break, so maybe it would have to be released as libtorrent 1.3.
@arvidn Do you plan on making a RC_1_3 branch or should any changes be directed at RC_1_2 branch?
Will try to take care of some of the CI stuff before tackling any other conflicts/breakages (should help make it easier to pinpoint any compilation issues etc.)
I someone volunteers a patch to update boost, I'll make an RC_1_3 branch
I'm not sure I see the point of a RC_1_3 branch just for a boost update.
Would it get any feature updates, is it essentially unsupported and will RC_2_x be the only place that will move forward?
If the answer is no/no/yes I'm not really interested in RC_1_2 as and I think maybe things like this are more pressing.
https://github.com/arvidn/libtorrent/pull/7013
If we had a RC_2_x with the disk performance of RC_1_2 no one is going to care about RC_1_2 anyway.
I someone volunteers a patch to update boost, I'll make an
RC_1_3branch
That seems like a lot just for a boost update. I'd just let people keep using 1.2.20 until 2.1.x comes out and then tell everybody to move to 2.1.x
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.