Skip to content
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

Merged
merged 1 commit into from
Nov 21, 2018
Merged

Conversation

nathanielhourt
Copy link

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.

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.
@ryanRfox
Copy link

ryanRfox commented Nov 7, 2018

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]?

@nathanielhourt
Copy link
Author

As far as I know? Tests pass... What broke after 1.65.1?

@ryanRfox
Copy link

ryanRfox commented Nov 7, 2018

I'll defer to @jmjatlanta or @pmconrad on why Boost > 1.65.1 is not supported. Thanks for making these PRs.

@jmjatlanta
Copy link

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.

@nathanielhourt
Copy link
Author

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.

@pmconrad
Copy link

pmconrad commented Nov 8, 2018

IIRC the only real obstacle for boost-1.66 was fixed with bitshares/bitshares-core#1161 .
We simply didn't bother to verify boost version compatiblity since then.

@nathanielhourt
Copy link
Author

Cool, so I already fixed it? =)

@jmjatlanta
Copy link

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.

Copy link

@jmjatlanta jmjatlanta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again!

Copy link
Member

@cogutvalera cogutvalera left a 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 !

@pmconrad
Copy link

I get two errors from fc unit tests:

  • stacktrace_test/static_variant_depth_test fails because it doesn't detect nested stack frames relating to the test itself
  • the api test runs through, but crashes on exit, complaining about a pure virtual method being called.

Can anyone confirm this?
Note that travis builds with an older boost version (as do I, usually, so these errors may not be related to this PR).

@jmjatlanta
Copy link

Can anyone confirm this?
Note that travis builds with an older boost version (as do I, usually, so these errors may not be related to this PR).

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.

@pmconrad
Copy link

Confirmed failing stacktrace test with boost-1.65.1. This one used to work before the optimization in #79, so it's definitely unrelated.
API test does not crash with 1.65.1.

@jmjatlanta jmjatlanta merged commit ec0de98 into bitshares:master Nov 21, 2018
@pmconrad
Copy link

@jmjatlanta did you check the api test with boost-1.68?

@jmjatlanta
Copy link

jmjatlanta commented Nov 21, 2018

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.

@nathanielhourt nathanielhourt deleted the patch-1 branch November 27, 2018 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants