Comments (21)
Howdy, and thanks for reaching out. We can probably do something here.
Now, BH follows Boost releases (and is "lazy", I try to update less frequently than they do). AFAIK Beast is not yet part, but we can lay foundations as needed and have over time added other sublibraries. Less so indidivual files.
Asio in Boost does, if memory serve, require linking which is why it never got into BH. So we have to check. Having said that I eventually learned about AsioHeaders, don't quite understand its release cyle but packaged it because it is complementary to BH (and used in two or so networking centric packages). We could update if the files you seek are in a new package.
Otherwise, if it all falls through the cracks, you could include those locally. Suboptimal, not useful to others, but working.
from bh.
Ace :)
Might be best to keep this open then (so that I don't forget...), possibly retitled as something like 'Please include Beast in next upgrade' or some such.
Done.
from bh.
😀
Well given that I "hold off" two updates a year I at least promise myself to be diligent about the December update. So I watched boost.org the last few days, and I guess the anticipated Wednesday release became a Friday release. Still very impressive how Boost keeps schedule.
I think I am mostly done. But it will require revese depends checking. I will mostly likely drop the tar.gz into the ghrr drat repo and renounce its availability so that folks can test. Upload to CRAN hopefully a few days later.
(Edit: Added ghrr drat URL)
from bh.
Very happy you think something can be done. Let me know if I can do something to help with the process.
Including the files locally does work but I would much prefer to include them from seperate package.
from bh.
I just checked one of your files. make_unique.h
points into Boost smart_ptr which we do include as a library. So call that a missing featur eof bcp
that it does not get pulled along. You could change your include to what it has, which is after all a one-liner:
edd@rob:~$ cat /usr/include/boost/make_unique.hpp
/*
Copyright 2014 Glen Joseph Fernandes
([email protected])
Distributed under the Boost Software License, Version 1.0.
(http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef BOOST_MAKE_UNIQUE_HPP_INCLUDED
#define BOOST_MAKE_UNIQUE_HPP_INCLUDED
#include <boost/smart_ptr/make_unique.hpp>
#endif
edd@rob:~$
I cannot tell you why AsioHeaders does not include the files above. Maybe it is ... just naming thing you didn't look closely enough?
edd@rob:~/git/asioheaders(master)$ ls -l inst/include/asio/{coroutine,unyield,yield}*
-rw-r--r-- 1 edd edd 9736 Dec 8 2018 inst/include/asio/coroutine.hpp
-rw-r--r-- 1 edd edd 381 Dec 8 2018 inst/include/asio/unyield.hpp
-rw-r--r-- 1 edd edd 464 Dec 8 2018 inst/include/asio/yield.hpp
edd@rob:~/git/asioheaders(master)$
exchange
is the only one missing. But that made me revisit the Asio website, and I am apparently behind as I am still at 1.12.2 whereas it has https://think-async.com/Asio/Download.html. I'll look get into upgrading that; maybe by this evening.
from bh.
You are right. I did not realize that AsioHeaders and Asio standalone do not have the boost directory and namespace (asio::
instead of boost::asio::
which beast expects).
It seems like beast is not properly supporting Asio standalone: boostorg/beast#799 (comment)
This is unfortunate, but I think I can work around this with having the local headers include their Asio standalone versions and fix the namespace with something like (Did not work)namespace asio = boost::asio;
I think exchange
is in boost core not Asio.
from bh.
Yes, the whole arrangement is a little weird but what you can do. For us R users, BH + AsioHeaders together (however they name and arrange things) is still better than no asio :)
from bh.
Absolutely, thanks for helping me with figure this out :)
Using the standalone Asio does not seem to work, but coroutine.hpp
, yield.hpp
and unyield.hpp
seem to be the only headers missing from the part of Asio that is in BH. They dont contain a lot of code so I think that should be ok.
What is your opinion on creating a seperate R package for the Beast headers?
I have set up a repo for testing: https://github.com/nx10/BeastHeaders
from bh.
An updated AsioHeaders 1.16.1-1 has just been sent to CRAN and should be up "shortly" given the relatively few (three) reverse depends and clean sheet it presents to checks.
I can't speak to merit or demerit of a BeastHeader package esp if Beast "eventually" will be in Boost itself. Hard to tell. If it helps you and you are open to doing the work, go for it. This is all pretty niche... I generally think we are better off pooling resources and making existing packages better but there are a lot of forces at work reinventing packages all over again so that they are "theirs". So 🤷♂️ ...
from bh.
Thanks you very much for your time and input.
I just looked it up and Beast already is part of Boost, but not in BH (exact same version 1.72.0).
I understand what you mean but I really don't want to make anything "mine" I am just trying to avoid having all of the beast headers in my package.
I also understand that this is very niche, and it would be OK if you decide against the inclusion of beast. From my side this issue can be closed.
from bh.
Cool. Boost is "more work" than AsioHeaders to I try to limit my involvement to one [upstream] update a year. If I can :)
And I generally accept issue tickets to expands BH with new sub-libraries. It's how we have grown:
edd@rob:~$ ls -lh cranberries/sources/BH_1.*
-rw-rw-r-- 1 edd edd 1.4M Jan 31 2013 cranberries/sources/BH_1.51.0-0.tar.gz
-rw-rw-r-- 1 edd edd 2.1M May 29 2013 cranberries/sources/BH_1.51.0-1.tar.gz
-rw-rw-r-- 1 edd edd 2.4M Jul 29 2013 cranberries/sources/BH_1.51.0-2.tar.gz
-rw-rw-r-- 1 edd edd 4.3M Oct 19 2013 cranberries/sources/BH_1.51.0-3.tar.gz
-rw-rw-r-- 1 edd edd 5.6M Jan 2 2014 cranberries/sources/BH_1.51.0-4.tar.gz
-rw-rw-r-- 1 edd edd 6.2M Apr 8 2014 cranberries/sources/BH_1.54.0-1.tar.gz
-rw-rw-r-- 1 edd edd 6.2M Apr 14 2014 cranberries/sources/BH_1.54.0-2.tar.gz
-rw-rw-r-- 1 edd edd 6.2M Aug 4 2014 cranberries/sources/BH_1.54.0-3.tar.gz
-rw-rw-r-- 1 edd edd 6.2M Aug 29 2014 cranberries/sources/BH_1.54.0-4.tar.gz
-rw-rw-r-- 1 edd edd 6.2M Nov 10 2014 cranberries/sources/BH_1.54.0-5.tar.gz
-rw-rw-r-- 1 edd edd 6.9M Dec 21 2014 cranberries/sources/BH_1.55.0-1.tar.gz
-rw-rw-r-- 1 edd edd 6.9M Jan 4 2015 cranberries/sources/BH_1.55.0-2.tar.gz
-rw-rw-r-- 1 edd edd 7.5M Jan 5 2015 cranberries/sources/BH_1.55.0-3.tar.gz
-rw-rw-r-- 1 edd edd 8.4M May 21 2015 cranberries/sources/BH_1.58.0-1.tar.gz
-rw-rw-r-- 1 edd edd 9.2M Dec 28 2015 cranberries/sources/BH_1.60.0-1.tar.gz
-rw-rw-r-- 1 edd edd 9.4M May 6 2016 cranberries/sources/BH_1.60.0-2.tar.gz
-rw-rw-r-- 1 edd edd 9.8M Nov 19 2016 cranberries/sources/BH_1.62.0-1.tar.gz
-rw-rw-r-- 1 edd edd 11M Aug 24 2017 cranberries/sources/BH_1.65.0-1.tar.gz
-rw-rw-r-- 1 edd edd 12M Feb 13 2018 cranberries/sources/BH_1.66.0-1.tar.gz
-rw-rw-r-- 1 edd edd 12M Jan 7 2019 cranberries/sources/BH_1.69.0-1.tar.gz
-rw-rw-r-- 1 edd edd 12M Dec 16 2019 cranberries/sources/BH_1.72.0-1.tar.gz
-rw-rw-r-- 1 edd edd 12M Dec 17 2019 cranberries/sources/BH_1.72.0-2.tar.gz
-rw-rw-r-- 1 edd edd 12M Jan 8 18:02 cranberries/sources/BH_1.72.0-3.tar.gz
edd@rob:~$
So could you maybe get by for now with a local copy and then just try to keep me honest about including Beast once 1.74 or 1.75 rolls around and I update?
from bh.
Great to hear, I will do that :)
from bh.
Just to keep you in the loop: A new AsioHeaders has been uploaded. With it, reverse dependency websocket
no longer builds so we're sitting and waiting for websocket
to get update. Oh well.
from bh.
Thanks for keeping me updated. I actually don't depend on AsioHeaders any more, just on BH/asio.
from bh.
For the record, AsioHeaders 1.16.1-1 is now on CRAN. We'll keep this open as a reminder to look into adding Boost Beast on the next Boost update.
from bh.
So could you maybe get by for now with a local copy and then just try to keep me honest about including Beast once 1.74 or 1.75 rolls around and I update?
Just a quick reminder that 1.74 is out for a couple of weeks now. If it's not convenient to update right now I will comment again after 1.75 is released.
from bh.
IIRC Boost releases three times a year and I was hoping to wait for the December release skipping this August one.
from bh.
That was quick thanks!
from bh.
BTW my merging of the PR / branch commit you saw referenced would also have closed it. But you were faster as I am still testing a few wrinkles with R CMD check
on r-release / r-devel.
from bh.
Just to keep you in the loop as you're the one who has been waiting for Boost beast: the reverse depends check revealed a little over a handful of packages need a tweak. A few users of Boost geometry now need C++14. CRAN closes for the year on December 18 and I don't think this will happen before then. So early Jan as I need to coral the help of a few other package developers (to make these changes so that BH can go to CRAN and not have breakage).
from bh.
Thank you for keeping me in the loop. January works for me.
from bh.
Related Issues (20)
- BH 1.84.0 CRAN Release Planning HOT 2
- boost::geometry compilation failing with LLVM 19 HOT 2
- Update BH to 1.75.0 and minor regressions requiring downstream changes HOT 37
- boost geometry C++14 R 3.6 patch HOT 8
- Include boost process? HOT 8
- Include boost ublas? HOT 3
- Upgrade to Boost 1.78 HOT 11
- Add Boost::Lambda2 ?
- Installation error r-devel-linux-x86_64-debian-gcc HOT 24
- A request to add timer/include/boost/progress.hpp HOT 11
- Compilation of `bigmemory` fails in Alpine Linux apparently due to BH version HOT 2
- BH 1.81.0 upgrade plan HOT 10
- CRAN warning "Found 'sprintf', possibly from 'sprintf' (C)" using BH HOT 5
- Compile failure of BH as a dependency of https://github.com/steven-shuken/permFDP HOT 4
- clang16 compatibility under C++17 HOT 6
- Undefined reference to `scoped_static_mutex_lock` on Windows R 3.6 HOT 1
- system.file("include", package = "BH") returns empty string HOT 4
- Current version breaks CRAN checks HOT 7
- QVM support HOT 7
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 bh.