Boost 1.77 compatibility: change order of includes
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());
```
Timo Heister [Fri, 15 Oct 2021 03:05:53 +0000 (23:05 -0400)]
fix checkpointing for >4GB files
We incorrectly compute MPI_Offset for MPI IO for checkpointing using
SolutionTransfer using 32 bit indices, which means that files larger
than 4GB end up being corrupted.
This manifests in errors like
n error occurred in line <749> of file
<../source/distributed/tria_base.cc> in function
void dealii::parallel::DistributedTriangulationBase<dim,
spacedim>::load_attached_data(unsigned int, unsigned int, unsigned int,
const string&, unsigned int, unsigned int) [with int dim = 3; int
spacedim = 3; std::string = std::__cxx11::basic_string<char>]
The violated condition was:
(cell_rel.second == parallel::DistributedTriangulationBase<dim,
spacedim>::CELL_PERSIST)
Matthias Maier [Tue, 29 Jun 2021 15:18:41 +0000 (10:18 -0500)]
Tensor: refactor constructor and assignment operator guards
* This commit guards some constructors and copy/move assignment
operators that are necessary to work around a gcc 11 regression with
DEAL_II_DELETED_MOVE_CONSTRUCTOR_BUG.
* Add back explicitly guarded constructor working around a code
generation issue with intel compilers
David Wells [Thu, 17 Jun 2021 14:10:33 +0000 (10:10 -0400)]
Fix a segmentation fault at high optimization levels.
I don't completely understand this but accessing these pointers causes
segmentation faults. It's not due to type aliasing - converting both to 'const
auto *' does not fix the problem.
Timo Heister [Sat, 26 Jun 2021 21:33:43 +0000 (17:33 -0400)]
fix umfpack cmake 3.20 warning
Fix the following warnings produced by CMake 3.20:
CMake Warning (dev) at cmake/macros/macro_deal_ii_add_library.cmake:35
(ADD_LIBRARY):
Policy CMP0115 is not set: Source file extensions must be explicit.
File:
Timo Heister [Sat, 19 Jun 2021 18:15:38 +0000 (14:15 -0400)]
fix cmake underlinkage error
The underlinkage MPI check under Ubuntu fails if MPI_CXX_LIBRARIES is
empty, which happens if you configure with CXX=mpicxx (even though you
should not).
In this situation, just disable this hack. Errors look like this:
CMake Error at cmake/modules/FindMPI.cmake:143 (LIST):
LIST GET given empty list
Call Stack (most recent call first):
cmake/macros/macro_find_package.cmake:27 (_FIND_PACKAGE)
cmake/configure/configure_1_mpi.cmake:28 (FIND_PACKAGE)
/a/CMakeFiles/CMakeTmp/evaluate_expression.tmp:1
(FEATURE_MPI_FIND_EXTERNAL)
cmake/macros/macro_evaluate_expression.cmake:30 (INCLUDE)
cmake/macros/macro_configure_feature.cmake:237 (EVALUATE_EXPRESSION)
cmake/configure/configure_1_mpi.cmake:81 (CONFIGURE_FEATURE)
cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
CMakeLists.txt:121 (VERBOSE_INCLUDE)
CMake Error at cmake/modules/FindMPI.cmake:144 (GET_FILENAME_COMPONENT):
GET_FILENAME_COMPONENT called with incorrect number of arguments
Call Stack (most recent call first):
cmake/macros/macro_find_package.cmake:27 (_FIND_PACKAGE)
cmake/configure/configure_1_mpi.cmake:28 (FIND_PACKAGE)
/a/CMakeFiles/CMakeTmp/evaluate_expression.tmp:1
(FEATURE_MPI_FIND_EXTERNAL)
cmake/macros/macro_evaluate_expression.cmake:30 (INCLUDE)
cmake/macros/macro_configure_feature.cmake:237 (EVALUATE_EXPRESSION)
cmake/configure/configure_1_mpi.cmake:81 (CONFIGURE_FEATURE)
cmake/macros/macro_verbose_include.cmake:19 (INCLUDE)
CMakeLists.txt:121 (VERBOSE_INCLUDE)
-- _mpi_libopen_pal_library not found! The call was:
-- FIND_LIBRARY(_mpi_libopen_pal_library NAMES open-pal HINTS
NO_DEFAULT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH
NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)