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
Compatibility with Boost 1.77 and upcoming Boost 1.78 #13037
Comments
I'll try to give a look tomorrow morning our time. It does seem like we need to change something in our box and point traits, but it should be doable. |
I just tried to build |
This is still an issue. I hope I will have some time in the next few days to look into this, but the solution is non-trivial. I'm trying to build a MWE to show that this is an issue on boost side. |
https://build.opensuse.org/request/show/942601 by user badshah400 + dimstar_suse Has failed for too long, and will probably not be fixed for use with any recent boost for a while: <dealii/dealii#13037>
Have we made any progress on this? I'll have some time to work on it tomorrow, but if anyone else has notes on what is going wrong I would like to read them. |
@drwells , I tried building a minimal example that mimics our classes, but due to lack of time, I was not able to finish it. The idea is that if you have a custom box type, these no longer work with native boost types. The fix could be as simple as adding some headers, but I was not able to understand exactly where the problem is. What seems to be the problem is the distance between a point and a box. While this is implemented explicitly for boost native types, it used to be deduced naturally for any other type that implements the correct traits (see our include files In versions up to boost 1.76, these traits are enough to guarantee complete interchangeabilty between deal.II types and boost types, including all boost algorithms. From 1.77 onwards, it looks like boost does not understand anymore how to plug things together and build geometrical operations with types that satisfy the box and point concepts, but are not boost::box and boost::point types. I think this is a bug in boost, not on our side, but I failed in writing a MWE that shows the bug. |
Opening a more detailed issue in favor of #12732 : It is currently not possible to compile against boost 1.77 and 1.78 with (at least) the following three major issues:
(a) The following code in https://github.com/dealii/dealii/blob/master/source/grid/grid_tools.cc#L5634
triggers
(b) Just trying to compile
grid_tools.cc
fails with:So I am a bit at a loss here. Does this imply that we lost support for our bounding box implementation due to some internal restructuring? If yes, what shall we do? We will need support with newer versions of boost rather sooner than later.
The text was updated successfully, but these errors were encountered: