-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix build against boost 1.68+ #90
Conversation
In Boost 1.68, the `boost/context/all.hpp` header was removed. Ref: boostorg/context@2e37599 If building against Boost 1.68+, use `boost/context/continuation_fcontext.hpp` instead.
As of Release 2.0.181105 Core supports Boost in the range [1.57 - 1.65.1]. Does this PR add support to extend that range to [1.57 - 1.68]? |
As far as I know? Tests pass... What broke after 1.65.1? |
I'll defer to @jmjatlanta or @pmconrad on why Boost > 1.65.1 is not supported. Thanks for making these PRs. |
I have been using 1.67 for a good while now, and have had good success. I have found an issue with 1.67 on mac (boost stacktrace), but have not dug in to the details. There was an issue with the way 1.68 and above handled exceptions with multi_list, but I believe that has since been resolved. In all, I believe we need to do a bit of research and testing, but I do not know of any big hurdles to officially move above 1.65. If you search for open issues with the keyword boost you will run across some open tickets that discuss some of the differences with the more recent boost versions. |
Alright well I'd be happy to take a swing at any issues with using up-to-date boost. Feel free to ping me on relevant issues if you see them. For now I'd be really happy if we could get this and #91 in, as both are intended to be conservative and safe, and having them upstream will simplify my builds immensely. So far I am having no issues from boost 1.68 and I've run a few testnets producing blocks, and all tests pass. |
IIRC the only real obstacle for boost-1.66 was fixed with bitshares/bitshares-core#1161 . |
Cool, so I already fixed it? =) |
It looks like you did! I took a look at the stacktrace issue today. It looks like it can be resolved by either some more code or disabling the stacktrace for mac. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks again!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems good to me too ! Thanks !
I get two errors from fc unit tests:
Can anyone confirm this? |
I am building with Boost 1.67, and get the same stacktrace test failure, but the api test runs to completion and does not crash on exit (Ubuntu 18.04). I will test on other combinations of boost and operating systems. |
Confirmed failing stacktrace test with boost-1.65.1. This one used to work before the optimization in #79, so it's definitely unrelated. |
@jmjatlanta did you check the api test with boost-1.68? |
Yes, I have never been able to get it to crash as you did. Does it crash consistently for you? I will clean everything up, clone again, and see if I can get it to crash. Update: Did a fresh install of Boost 1.68.0 and bitshares-fc (this PR has now been merged). The all_tests still fails on the stacktrace test. But ./tests/api completes without errors nor crashes. |
In Boost 1.68, the
boost/context/all.hpp
header was removed.Ref: boostorg/context@2e37599
If building against Boost 1.68+, use
boost/context/continuation_fcontext.hpp
instead.