Bug #13942
closedAdapt 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 11 months 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 11 months 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