Bug#880384: deal.ii: FTBFS with boost >= 1.64, patch attached

Adam Conrad adconrad at debian.org
Tue Oct 31 06:01:22 UTC 2017


Package: deal.ii
Version: 8.4.2-2
Severity: important
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu bionic ubuntu-patch



In Ubuntu, the attached patch was applied to achieve the following:

  * boost_1.64.patch: Backport patch from upstream for boost >= 1.64.

Fairly self-explanatory.  I backported the upstream commit with the boost
fix to facilitate the boost_1.65 transition.  If you choose to package a
new upstream version, you might need to cherrypick the whole commit named
in the patch, as my backport is mangled to apply to 8.4.2.

... Adam

-- System Information:
Debian Release: buster/sid
  APT prefers bionic
  APT policy: (500, 'bionic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.13.0-16-lowlatency (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
diff -Nru deal.ii-8.4.2/debian/patches/boost_1.64.patch deal.ii-8.4.2/debian/patches/boost_1.64.patch
--- deal.ii-8.4.2/debian/patches/boost_1.64.patch	1969-12-31 17:00:00.000000000 -0700
+++ deal.ii-8.4.2/debian/patches/boost_1.64.patch	2017-10-30 22:24:51.000000000 -0600
@@ -0,0 +1,79 @@
+From 9c874026deeb51c613e0418d37679fdf6b27c3e0 Mon Sep 17 00:00:00 2001
+From: Daniel Arndt <daniel.arndt at iwr.uni-heidelberg.de>
+Date: Tue, 25 Apr 2017 00:29:49 +0200
+Subject: [PATCH] Fix compilation with BOOST 1.64
+
+---
+ include/deal.II/base/aligned_vector.h  | 10 +++++++++-
+ include/deal.II/lac/sparsity_pattern.h | 11 ++++++++++-
+ include/deal.II/lac/vector.h           | 10 +++++++++-
+ 4 files changed, 37 insertions(+), 4 deletions(-)
+
+diff --git a/include/deal.II/base/aligned_vector.h b/include/deal.II/base/aligned_vector.h
+index 9f3c431e43..c2253221e3 100644
+--- a/include/deal.II/base/aligned_vector.h
++++ b/include/deal.II/base/aligned_vector.h
+@@ -22,7 +22,15 @@
+ #include <deal.II/base/memory_consumption.h>
+ #include <deal.II/base/utilities.h>
+ #include <deal.II/base/parallel.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++#  include <boost/serialization/array_wrapper.hpp>
++#else
++#  include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+ 
+ #include <cstring>
+diff --git a/include/deal.II/lac/sparsity_pattern.h b/include/deal.II/lac/sparsity_pattern.h
+index f8d9b29aeb..369a58c554 100644
+--- a/include/deal.II/lac/sparsity_pattern.h
++++ b/include/deal.II/lac/sparsity_pattern.h
+@@ -20,11 +20,20 @@
+ #include <deal.II/base/config.h>
+ #include <deal.II/base/exceptions.h>
+ #include <deal.II/base/subscriptor.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++#  include <boost/serialization/array_wrapper.hpp>
++#else
++#  include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+ 
+ #include <vector>
+ #include <iostream>
++#include <algorithm>
+ 
+ DEAL_II_NAMESPACE_OPEN
+ 
+diff --git a/include/deal.II/lac/vector.h b/include/deal.II/lac/vector.h
+index d5bf2b678c..7f6431c34e 100644
+--- a/include/deal.II/lac/vector.h
++++ b/include/deal.II/lac/vector.h
+@@ -23,7 +23,15 @@
+ #include <deal.II/base/exceptions.h>
+ #include <deal.II/base/subscriptor.h>
+ #include <deal.II/base/index_set.h>
+-#include <boost/serialization/array.hpp>
++
++// boost::serialization::make_array used to be in array.hpp, but was
++// moved to a different file in BOOST 1.64
++#include <boost/version.hpp>
++#if BOOST_VERSION >= 106400
++#  include <boost/serialization/array_wrapper.hpp>
++#else
++#  include <boost/serialization/array.hpp>
++#endif
+ #include <boost/serialization/split_member.hpp>
+ 
+ #include <cstdio>
diff -Nru deal.ii-8.4.2/debian/patches/series deal.ii-8.4.2/debian/patches/series
--- deal.ii-8.4.2/debian/patches/series	2016-12-06 23:43:06.000000000 -0700
+++ deal.ii-8.4.2/debian/patches/series	2017-10-30 22:25:00.000000000 -0600
@@ -1,2 +1,3 @@
 allow_different_slepc_petsc_versions.patch
 work_around_a_doxygen_bug.patch
+boost_1.64.patch


More information about the debian-science-maintainers mailing list