Your message dated Sat, 06 Jan 2018 22:05:02 +0000
with message-id <e1exwam-00062u...@fasolo.debian.org>
and subject line Bug#883987: fixed in boost1.62 1.62.0+dfsg-5
has caused the Debian Bug report #883987,
regarding FTBFS error: partial specialization ... after instantiation ... (with 
patch)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
883987: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883987
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libcgal-dev
Version: 4.11-2
Severity: grave
Justification: renders package unusable
Tags: upstream newcomer

Dear Maintainer,

Boost-1.62 fails to compile the following c++ file :

    g++ pair_tst.cc -o pair_tst.cc

in sid and buster (testing) with g++ 7.2.
The output is:
        In file included from 
/usr/include/boost/container/detail/flat_tree.hpp:29:0,
                         from /usr/include/boost/container/flat_map.hpp:29,
                         from pair_tst.cc:16:
        /usr/include/boost/container/detail/pair.hpp:433:8: error: partial 
specialization of ‘struct boost::is_enum<std::pair<_T1, _T2> >’ after 
instantiation of ‘struct boost::is_enum<std::pair<int, int> >’ [-fpermissive]
        struct is_enum< ::std::pair<T, U> >
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

See the "pair_tst.cc" file in attachment for reproducing this bug.
This bug actually causes some debian package build to fail in sid
and testing (see e.g. bug: #883987 ).

The bug has already be identified in the upstream version of Boost :
  https://svn.boost.org/trac10/ticket/12534
and it is now fixed in boost-dev 1.65:
  
https://github.com/boostorg/container/commit/5e4a107e82ab3281688311d22d2bfc2fddcf84a3
The fix simply consists of removing from line 431 to 460
in file include/boost/container/detail/pair.hpp
See also the "pair_tst.patch" file in attachment.

Could you please includes this patch in the debianization of
the Boost package ?

Best regards,

Pierre Saramito

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

Kernel: Linux 4.13.0-1-amd64 (SMP w/32 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libcgal-dev depends on:
ii  libboost-dev                  1.62.0.1
ii  libboost-program-options-dev  1.62.0.1
ii  libboost-system-dev           1.62.0.1
ii  libboost-thread-dev           1.62.0.1
ii  libcgal13                     4.11-2
ii  libgmp-dev [libgmp10-dev]     2:6.1.2+dfsg-1.1
ii  libmpfr-dev                   3.1.6-1
ii  zlib1g-dev                    1:1.2.8.dfsg-5

libcgal-dev recommends no packages.

Versions of packages libcgal-dev suggests:
pn  libmpfi-dev  <none>
pn  libntl-dev   <none>
pn  libtbb-dev   <none>

-- no debconf information

--
pierre.saram...@imag.fr
Directeur de Recherche CNRS
Laboratoire Jean Kuntzmann, Grenoble, France
http://ljk.imag.fr/membres/Pierre.Saramito
// bug description
// https://svn.boost.org/trac10/ticket/12534
// and its fix in boost-dev 1.65:
// https://github.com/boostorg/container/commit/5e4a107e82ab3281688311d22d2bfc2fddcf84a3
// i.e. remove from line 431 to 460 in include/boost/container/detail/pair.hpp

#undef FIX_BUG
#ifdef  FIX_BUG
#include <boost/container/map.hpp>
#endif // FIX_BUG

#include <boost/type_traits.hpp>

static const bool is_enum = boost::is_enum<std::pair<int, int> >::value;

#include <boost/container/flat_map.hpp>

boost::container::flat_map<int, int> m;

int main() {}
*** /usr/include/boost/container/detail/pair.hpp.orig	Tue Dec 12 12:15:26 2017
--- /usr/include/boost/container/detail/pair.hpp	Tue Dec 12 12:41:22 2017
***************
*** 416,451 ****
  }  //namespace container_detail {
  }  //namespace container {
  
- 
- //Without this specialization recursive flat_(multi)map instantiation fails
- //because is_enum needs to instantiate the recursive pair, leading to a compilation error).
- //This breaks the cycle clearly stating that pair is not an enum avoiding any instantiation.
- template<class T>
- struct is_enum;
- 
- template<class T, class U>
- struct is_enum< ::boost::container::container_detail::pair<T, U> >
- {
-    static const bool value = false;
- };
- 
- template<class T, class U>
- struct is_enum< ::std::pair<T, U> >
- {
-    static const bool value = false;
- };
- 
- template <class T>
- struct is_class;
- 
- //This specialization is needed to avoid instantiation of pair in
- //is_class, and allow recursive maps.
- template <class T1, class T2>
- struct is_class< ::boost::container::container_detail::pair<T1, T2> >
- {
-    static const bool value = true;
- };
- 
  #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
  
  template<class T1, class T2>
--- 416,421 ----

--- End Message ---
--- Begin Message ---
Source: boost1.62
Source-Version: 1.62.0+dfsg-5

We believe that the bug you reported is fixed in the latest version of
boost1.62, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 883...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Steve M. Robbins <s...@debian.org> (supplier of updated boost1.62 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 06 Jan 2018 14:44:32 -0600
Source: boost1.62
Binary: libboost1.62-dev libboost1.62-tools-dev libboost1.62-all-dev 
libboost1.62-doc libboost-atomic1.62.0 libboost-atomic1.62-dev 
libboost-chrono1.62.0 libboost-chrono1.62-dev libboost-context1.62.0 
libboost-context1.62-dev libboost-coroutine1.62.0 libboost-coroutine1.62-dev 
libboost-date-time1.62.0 libboost-date-time1.62-dev libboost-exception1.62-dev 
libboost-fiber1.62.0 libboost-fiber1.62-dev libboost-filesystem1.62.0 
libboost-filesystem1.62-dev libboost-graph1.62.0 libboost-graph1.62-dev 
libboost-graph-parallel1.62.0 libboost-graph-parallel1.62-dev 
libboost-iostreams1.62.0 libboost-iostreams1.62-dev libboost-locale1.62.0 
libboost-locale1.62-dev libboost-log1.62.0 libboost-log1.62-dev 
libboost-math1.62.0 libboost-math1.62-dev libboost-mpi1.62.0 
libboost-mpi1.62-dev libboost-mpi-python1.62.0 libboost-mpi-python1.62-dev 
libboost-program-options1.62.0 libboost-program-options1.62-dev 
libboost-python1.62.0 libboost-python1.62-dev libboost-random1.62.0
 libboost-random1.62-dev libboost-regex1.62.0 libboost-regex1.62-dev 
libboost-serialization1.62.0 libboost-serialization1.62-dev 
libboost-signals1.62.0 libboost-signals1.62-dev libboost-system1.62.0 
libboost-system1.62-dev libboost-test1.62.0 libboost-test1.62-dev 
libboost-thread1.62.0 libboost-thread1.62-dev libboost-timer1.62.0 
libboost-timer1.62-dev libboost-type-erasure1.62.0 
libboost-type-erasure1.62-dev libboost-wave1.62.0
 libboost-wave1.62-dev
Architecture: source
Version: 1.62.0+dfsg-5
Distribution: unstable
Urgency: medium
Maintainer: Debian Boost Team <pkg-boost-de...@lists.alioth.debian.org>
Changed-By: Steve M. Robbins <s...@debian.org>
Description:
 libboost-atomic1.62-dev - atomic data types, operations, and memory ordering 
constraints
 libboost-atomic1.62.0 - atomic data types, operations, and memory ordering 
constraints
 libboost-chrono1.62-dev - C++ representation of time duration, time point, and 
clocks
 libboost-chrono1.62.0 - C++ representation of time duration, time point, and 
clocks
 libboost-context1.62-dev - provides a sort of cooperative multitasking on a 
single thread
 libboost-context1.62.0 - provides a sort of cooperative multitasking on a 
single thread
 libboost-coroutine1.62-dev - provides a sort of cooperative multitasking on a 
single thread
 libboost-coroutine1.62.0 - provides a sort of cooperative multitasking on a 
single thread
 libboost-date-time1.62-dev - set of date-time libraries based on generic 
programming concepts
 libboost-date-time1.62.0 - set of date-time libraries based on generic 
programming concepts
 libboost-exception1.62-dev - library to help write exceptions and handlers
 libboost-fiber1.62-dev - cooperatively-scheduled micro-/userland-threads
 libboost-fiber1.62.0 - cooperatively-scheduled micro-/userland-threads
 libboost-filesystem1.62-dev - filesystem operations (portable paths, iteration 
over directories
 libboost-filesystem1.62.0 - filesystem operations (portable paths, iteration 
over directories
 libboost-graph-parallel1.62-dev - generic graph components and algorithms in 
C++
 libboost-graph-parallel1.62.0 - generic graph components and algorithms in C++
 libboost-graph1.62-dev - generic graph components and algorithms in C++
 libboost-graph1.62.0 - generic graph components and algorithms in C++
 libboost-iostreams1.62-dev - Boost.Iostreams Library development files
 libboost-iostreams1.62.0 - Boost.Iostreams Library
 libboost-locale1.62-dev - C++ facilities for localization
 libboost-locale1.62.0 - C++ facilities for localization
 libboost-log1.62-dev - C++ logging library
 libboost-log1.62.0 - C++ logging library
 libboost-math1.62-dev - Boost.Math Library development files
 libboost-math1.62.0 - Boost.Math Library
 libboost-mpi-python1.62-dev - C++ interface to the Message Passing Interface 
(MPI), Python Bind
 libboost-mpi-python1.62.0 - C++ interface to the Message Passing Interface 
(MPI), Python Bind
 libboost-mpi1.62-dev - C++ interface to the Message Passing Interface (MPI)
 libboost-mpi1.62.0 - C++ interface to the Message Passing Interface (MPI)
 libboost-program-options1.62-dev - program options library for C++
 libboost-program-options1.62.0 - program options library for C++
 libboost-python1.62-dev - Boost.Python Library development files
 libboost-python1.62.0 - Boost.Python Library
 libboost-random1.62-dev - Boost Random Number Library
 libboost-random1.62.0 - Boost Random Number Library
 libboost-regex1.62-dev - regular expression library for C++
 libboost-regex1.62.0 - regular expression library for C++
 libboost-serialization1.62-dev - serialization library for C++
 libboost-serialization1.62.0 - serialization library for C++
 libboost-signals1.62-dev - managed signals and slots library for C++
 libboost-signals1.62.0 - managed signals and slots library for C++
 libboost-system1.62-dev - Operating system (e.g. diagnostics support) library
 libboost-system1.62.0 - Operating system (e.g. diagnostics support) library
 libboost-test1.62-dev - components for writing and executing test suites
 libboost-test1.62.0 - components for writing and executing test suites
 libboost-thread1.62-dev - portable C++ multi-threading
 libboost-thread1.62.0 - portable C++ multi-threading
 libboost-timer1.62-dev - C++ wall clock and CPU process timers
 libboost-timer1.62.0 - C++ wall clock and CPU process timers
 libboost-type-erasure1.62-dev - C++ runtime polymorphism based on concepts
 libboost-type-erasure1.62.0 - C++ runtime polymorphism based on concepts
 libboost-wave1.62-dev - C99/C++ preprocessor library
 libboost-wave1.62.0 - C99/C++ preprocessor library
 libboost1.62-all-dev - Boost C++ Libraries development files (ALL)
 libboost1.62-dev - Boost C++ Libraries development files
 libboost1.62-doc - Boost.org libraries documentation
 libboost1.62-tools-dev - Boost C++ Libraries development tools
Closes: 883987
Changes:
 boost1.62 (1.62.0+dfsg-5) unstable; urgency=medium
 .
   * patches/flat-map-remove-partial-specializations.patch: New.  Upstream
     patch to remove now-unnecessary partial specializations.  Closes:
     #883987.
Checksums-Sha1:
 6e8dc9ad226db3a2a9205973dfaa811b3eadc8b1 7244 boost1.62_1.62.0+dfsg-5.dsc
 2ae1fff2bbe879bd10efcccc7d1cf05409b04100 107012 
boost1.62_1.62.0+dfsg-5.debian.tar.xz
 14ed86e7a402619e66e8b601b365c59425a69308 9704 
boost1.62_1.62.0+dfsg-5_source.buildinfo
Checksums-Sha256:
 4d5b5d255bbbe04ef893a615daca68f786a584946c1740a8bc79baa6b95b4380 7244 
boost1.62_1.62.0+dfsg-5.dsc
 0620ad39d4f0fb2a1d9d4bf1a9fb2bc6d4b43abc61ba227521b6b27b89c82880 107012 
boost1.62_1.62.0+dfsg-5.debian.tar.xz
 f9b63697272ee2c6a16556d6ff537fe32f2952bc7ca34633a2da36e08e670f03 9704 
boost1.62_1.62.0+dfsg-5_source.buildinfo
Files:
 556533300b307b46a48d60ff945a6607 7244 libs optional boost1.62_1.62.0+dfsg-5.dsc
 722ccce748d586e2f3b57ad0a81497cb 107012 libs optional 
boost1.62_1.62.0+dfsg-5.debian.tar.xz
 5664fc2976a5ee607cb9ee7f57454ee0 9704 libs optional 
boost1.62_1.62.0+dfsg-5_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJDBAEBCAAtFiEEy89k8fa3rclNjyokyeVeL63I9LkFAlpRQuYPHHNtckBkZWJp
YW4ub3JnAAoJEMnlXi+tyPS5ZZYP/0uazJsUwZNop4+coBet0PEtqk00zyyRduv4
6n9mM1aGmcBfWHVuTNHpBg8qUNkheh6vn4fARHt3j1JpSGTdHnUSUlY4bECr4auN
ffAg3Ub/xkEP0cCoL85FuIqC5mE5OlRYeet/MJ6rNsvnIFwrtxpSoIuhcIjgQc/i
Hyd9eAVhnG1YFkQopcSBcLYLQHYumaWAuCpvuK8lPB768zSiNrTikrz/fID4RRg8
cpXDSCTTlhtvCDc5IKA0HTFWKV7GtuQMhB5OuC/E59SPp+v6luRa6/SMjK/wdQO7
EI2VsP22ftpsUr354JfmrmOWyJDV0g2iqPIP7vEtVNaTvVRZfLXLT6ZbomzpZGyp
YjiNERPLh/yX5Zk9r0Yfkut38mXQaYe2igp0H7fV2+u8TlpKDYeL90HLj3kiqZBu
pXEfTgX54HU8CVsxYGL4hwHbeUxl9stTzDrw4gM3xM449HXWXD8qSKZy4OYfo4ZX
Va0NChR8RSdE5r+SYmHuWqJE7P9v9Ke8MQYsL+8DUSrw0QEIxP4cZxj7czKZjuSU
g/A8xZKmA15Se9GUFkKC4uHJCC0Jn5HcOGfd3fs2LLPxvKX4zrBqqvH/12IIYTxt
CcPSH59qJXaonOLZHuOd+fbc8keTqxlGaokGrf63hY74p+LnYhS0q3MUl0UowRvi
kYN1IRpV
=Dc48
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to