Bug #13942
openAdapt for changes in Asio 1.33.0+
0%
Description
Asio 1.33.0 has this change:
- Removed deprecated alias io_service.
This breakes compilation of Wt when compiled using WT_ASIO_IMPLEMENTATION="standalone"
In file included from D:/Dev/BuildLibs/wt/wt-4.11.1/src/Wt/WEnvironment.C:29:
D:/Dev/BuildLibs/wt/wt-4.11.1/src/web/SslUtils.h:41:54:
error: no type named 'io_service' in namespace 'boost::asio' 41 | extern asio::ssl::context createSslContext(asio::io_service &io_service, | ~~~~~~^ 1 error generated.
Updated by Matthias Van Ceulebroeck about 1 month ago ยท Edited
- Status changed from New to Feedback
- Assignee set to Stefan Bn
Hello Stefan,
I believe this was resolved in #13361 (where various fixes were applied). The Github master branch should contain the latest of these. I am able to build Wt using standalone Asio 1.33.0.
Before I reject the ticket (denoting no implementation changes are attached to it), can you verify this?
Best,
Matthias
Updated by Stefan Bn about 1 month ago
Hi Matthias,
I've tested compilation of current release Wt 4.12.0 using Clang and Windows 10 with WT_ASIO_IMPLEMENTATION="standalone", with Asio library version 1.34.2-1.
Compilation fails with this error:
[10/93] Building CXX object src/CMakeFiles/wt.dir/Wt/WEnvironment.C.obj
FAILED: [code=1] src/CMakeFiles/wt.dir/Wt/WEnvironment.C.obj
D:\Dev\Tools\msys64\clang64\bin\clang++.exe -DBOOST_ATOMIC_NO_LIB -DBOOST_ATOMIC_STATIC_LINK -DBOOST_CHRONO_NO_LIB -DBOOST_CHRONO_STATIC_LINK -DBOOST_CONTAINER_NO_LIB -DBOOST_CONTAINER_STATIC_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_DATE_TIME_STATIC_LINK
-DBOOST_FILESYSTEM_NO_LIB -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_SPIRIT_THREADSAFE -DBOOST_THREAD_NO_LIB -DBOOST_THREAD_STATIC_LINK -DBOOST_THREAD_USE_LIB -DHAVE_PDF_IMAGE -DWT_BUILDING -DWT_FONTSUPPORT_DIRECTWRITE -DWT_WITH_OLD_INTERNALPATH_API -D
_CRT_SECURE_NO_WARNINGS -D_REENTRANT -D_SCL_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x0600 -Dwt_EXPORTS -ID:/Dev/BuildLibs/wt/build-wt -ID:/Dev/BuildLibs/wt/wt-4.12.0/src/web -ID:/Dev/BuildLibs/wt/wt-4.12.0/src -ID:/Dev/BuildLibs/wt/wt-4.12.0/src/Wt/Date/in
clude -ID:/Dev/BuildLibs/wt/build-wt/src -ID:/Dev/BuildLibs/wt/wt-4.12.0/src/Wt/Dbo/backend/amalgamation -ID:/Dev/BuildLibs/wt/wt-4.12.0/src/thirdparty/qrcodegen -finput-charset=UTF-8 -fexec-charset=UTF-8 -O2 -g -DNDEBUG -std=c++17 -fvisibility=hidden
-fvisibility-inlines-hidden -pthread -MD -MT src/CMakeFiles/wt.dir/Wt/WEnvironment.C.obj -MF src\CMakeFiles\wt.dir\Wt\WEnvironment.C.obj.d -o src/CMakeFiles/wt.dir/Wt/WEnvironment.C.obj -c D:/Dev/BuildLibs/wt/wt-4.12.0/src/Wt/WEnvironment.C
In file included from D:/Dev/BuildLibs/wt/wt-4.12.0/src/Wt/WEnvironment.C:29:
In file included from D:/Dev/BuildLibs/wt/wt-4.12.0/src/web/SslUtils.h:22:
D:/Dev/BuildLibs/wt/wt-4.12.0/src/Wt/AsioWrapper/ssl.hpp:32:36: error: no type named 'host_name_verification' in namespace 'boost::asio::ssl'; did you mean '::asio::ssl::host_name_verification'?
32 | using rfc2818_verification = boost::asio::ssl::host_name_verification;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ::asio::ssl::host_name_verification
D:/Dev/Tools/msys64/clang64/include/asio/ssl/host_name_verification.hpp:60:7: note: '::asio::ssl::host_name_verification' declared here
60 | class host_name_verification
| ^
1 error generated.
I've downgraded my environment back to Asio 1.30.2-1. This compiles fine with Wt 4.12.0 and previous Wt-versions.
(Though, currently I'm not able to use any newer version than Wt 4.11.1 due to https://redmine.emweb.be/issues/13861, could you PLEASE please look into this issue?)
Thanks,
Stefan