Comments (9)
Great.
But no rush. Since I already need a port overlay anyway, it was quite easy to patch restinio there and get it working for me.
I am waiting for 0.7.1 to land in vcpkg so I can remove my local patch.
from restinio.
Hi, @rcane !
Thanks for reporting! We'll take a look at them a bit later.
from restinio.
I've added a new Dockerfile to check the presence of the first problem on Linux. Unfornunately, this file doesn't show an error with CMake configure.
I'll try to find another way to show that such a problem exists and that it will be fixed properly.
from restinio.
Her is some more information that maybe helps:
I encountered the problems when I tried to install restinio via vcpkg.
Since the official vcpkg port uses standalone asio, I created an overlay port where I changed the dependency from "asio" to "boost-asio" and modified the cmake configure parameters in the portfile.cmake to use boost asio. I am doing this under Windows with VS2022.
This SO article got me to the fix of the first bug.
This is the modified configure call I use in the portfile:
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}/dev"
OPTIONS
-DRESTINIO_INSTALL=ON
-DRESTINIO_TEST=OFF
-DRESTINIO_SAMPLE=OFF
-DRESTINIO_BENCHMARK=OFF
-DRESTINIO_WITH_SOBJECTIZER=OFF
-DRESTINIO_ASIO_SOURCE=boost
-DRESTINIO_DEP_BOOST_ASIO=find
-DRESTINIO_DEP_LLHTTP=find
-DRESTINIO_DEP_FMT=find
-DRESTINIO_DEP_EXPECTED_LITE=find
)
So it is basically what your are doing in the dockerfile. I have no idea why it does not show the error. Maybe vcpkg does something that makes this different.
from restinio.
I'm trying to check that behaviour on Windows with Boost. Maybe it will show the problem.
from restinio.
@eao197
Since v0.7.0 we have boost-asio ci (both system and prebuild=kindly build from sources by @MarkusJx
). So I don't think dockerfile is necessary:
Ubuntu-22.04 (gcc-9, Debug, C++17, boost-system-package asio)
Ubuntu-22.04 (gcc-12, Release, C++20, boost asio)
Regarding windows and vcpkg I can take a look tomorrow, and since github runners by default have vcpkg in it we can think of adding a CI (win+vcpk) to avoid such issues future.
from restinio.
I had used Dockerfiles before you've configured GitHub CI for v0.7, but the Dockerfile used RESTINIO_DEP_BOOST_ASIO=system
. The new file uses RESTINIO_DEP_BOOST_ASIO=find
.
I hope I can check Boost on Window today (without vcpkg).
from restinio.
It seems that this issue is related to vcpkg. I've tried Boost (1.83.0) on Windows and there are no problems.
I'll try to make a project that uses vcpkg's overlay for RESTinio.
from restinio.
I've repeated this problem with help of https://github.com/Stiffstream/restinio-crud-example/tree/restinio-0.7.0-vcpkg-overlay-boost-asio
There is a fix for the problem in the 0.7-dev-issue-201 branch (at the commit 1f0234d).
I think this fix will be a part of upcoming 0.7.1 release, but I'm afraid this may not happen on this week.
from restinio.
Related Issues (20)
- Compilation of express router tests fails on VC++ 19 (VisualStudio 2022) HOT 1
- HTTPS not working
- <algorithm> isn't included in easy_parser.hpp
- Any chance std::fopen() call can be changed to std::fopen_s()? HOT 14
- New overload for sendfile and std::filesystem::path?
- vcpkg should have a variant with RESTinio+Boost.Asio HOT 1
- There should be operator<< for http_status_code_t
- static_if_impl has to be replaced with if constexpr
- There is no such type as generic_request_handler_t
- build system regression: RESTINIO_USE_EXTERNAL_SOBJECTIZER no longer available HOT 3
- allow using catch2 from system HOT 8
- Slow compilation HOT 2
- HTTP/2 and HTTP/3 HOT 1
- Is ninja supported? HOT 2
- Do not use SO_REUSEADDR on Window by default
- Question: How to get http_server_t<> address HOT 2
- display webpage of directory listing HOT 1
- Many tests fail: failed to start server on 127.0.0.1:8086: bind: Address already in use HOT 1
- Fails to find system Catch2: include could not find requested file: Catch HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from restinio.