GithubHelp home page GithubHelp logo

Comments (21)

eddelbuettel avatar eddelbuettel commented on August 17, 2024 1

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024 1

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024 1

😀

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.

nx10 avatar nx10 commented on August 17, 2024

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

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 namespace asio = boost::asio; (Did not work)

I think exchange is in boost core not Asio.

from bh.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

Great to hear, I will do that :)

from bh.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

Thanks for keeping me updated. I actually don't depend on AsioHeaders any more, just on BH/asio.

from bh.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

IIRC Boost releases three times a year and I was hoping to wait for the December release skipping this August one.

from bh.

nx10 avatar nx10 commented on August 17, 2024

That was quick thanks!

from bh.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

eddelbuettel avatar eddelbuettel commented on August 17, 2024

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.

nx10 avatar nx10 commented on August 17, 2024

Thank you for keeping me in the loop. January works for me.

from bh.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.