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

[9.3] Boost 1.78 #13180

Merged
merged 5 commits into from Jan 6, 2022
Merged

[9.3] Boost 1.78 #13180

merged 5 commits into from Jan 6, 2022

Conversation

drwells
Copy link
Member

@drwells drwells commented Jan 6, 2022

Port of #13165 and other relevant patches to the 9.3 branch.

At least Arch Linux has moved to oneAPI and boost > 1.76 - I will either need to package patches myself or we can do the release. I think the later is the better choice.

tamiko and others added 5 commits January 6, 2022 10:12
Otherwise, including both header files in reverse order leads to a
compilation failure:

```
In file included from /usr/include/boost/geometry/index/detail/rtree/rstar/choose_next_node.hpp:25,
                 from /usr/include/boost/geometry/index/detail/rtree/rstar/rstar.hpp:15,
                 from /usr/include/boost/geometry/index/rtree.hpp:80,
                 from ../include/deal.II/numerics/rtree.h:29,
                 from ../include/deal.II/grid/grid_tools.h:49,
                 from ../include/deal.II/numerics/vector_tools_point_gradient.templates.h:22,
                 from ../source/numerics/vector_tools_point_gradient.cc:17:
/usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp: In function ‘bool boost::geometry::index::detail::disjoint_box_box(const Box&, const Box&, const boost::geometry::default_strategy&)’:
/usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:32: error: ‘boost::geometry::strategy::disjoint’ has not been declared
   35 |     typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
      |                                ^~~~~~~~
/usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:35:68: error: expected unqualified-id before ‘<’ token
   35 |     typedef typename strategy::disjoint::services::default_strategy<Box, Box>::type strategy_type;
      |                                                                    ^
/usr/include/boost/geometry/index/detail/algorithms/intersection_content.hpp:36:83: error: class template argument deduction failed:
   36 |     return geometry::detail::disjoint::disjoint_box_box(box1, box2, strategy_type());
```
This little trick does not solve the problem
I bisected (fortunately Boost.Geometry a header-only library so adding the
include directory sufficed) and
boostorg/geometry@6eb9e23
is where this problem starts for us. See also
boostorg/geometry#792 - the easiest fix for all such
issues is to just include the project header `boost/geometry/geometry.hpp`.

In this particular case, if you look at the commit which causes grid_tools.cc
fails to compile, its because we were relying on some implicit includes. In
particular, we need the distance header to find the distance between points and
boxes, but that was previously included in another file.
@drwells drwells added the Release label Jan 6, 2022
@drwells drwells changed the title Boost 1.78 9.3 [9.3] Boost 1.78 Jan 6, 2022
@drwells
Copy link
Member Author

drwells commented Jan 6, 2022

/rebuild

@tamiko tamiko merged commit 18eaf0f into dealii:dealii-9.3 Jan 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants