[Boost-bugs] [Boost C++ Libraries] #10348: Compilation failure in shared_ptr_helper.hpp

Subject: [Boost-bugs] [Boost C++ Libraries] #10348: Compilation failure in shared_ptr_helper.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-12 13:13:45


#10348: Compilation failure in shared_ptr_helper.hpp
---------------------------+---------------------------
 Reporter: gary.mirams@… | Owner: ramey
     Type: Bugs | Status: new
Milestone: Boost 1.57.0 | Component: serialization
  Version: Boost 1.56.0 | Severity: Problem
 Keywords: |
---------------------------+---------------------------
 As part of the Chaste simulator (https://chaste.cs.ox.ac.uk/trac) we use
 boost serialization, and test compatibility with multiple versions of
 Boost (1.40-1.55 inclusive).

 We tested it out with the new boost 1.56, but got the following compiler
 error:

 {{{
 In file included from
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr.hpp:28,
                  from linalg/src/LinearSystem.hpp:50,
                  from ./linalg/test/TestChebyshevIteration.hpp:40,
                  from
 linalg/build/debug_hostconfig,boost=1-56/TestChebyshevIterationRunner.cpp:21:
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:
 In static member function static const
 boost::serialization::extended_type_info*
 boost::serialization::shared_ptr_helper<SPT>::non_polymorphic::get_object_type(U&)':
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:107:
 error: 'singleton' is not a member of 'boost::serialization'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:110:
 error: expected '(' before '>' token
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:110:
 error: '::get_const_instance' has not been declared
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:
 In static member function 'static const
 boost::serialization::extended_type_info*
 boost::serialization::shared_ptr_helper<SPT>::polymorphic::get_object_type(U&)':
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:117:
 error: 'singleton' is not a member of 'boost::serialization'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:120:
 error: expected '(' before '>' token
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:120:
 error: '::get_const_instance' has not been declared
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:
 In member function 'void
 boost::serialization::shared_ptr_helper<SPT>::reset(SPT<T>&, T*)':
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:152:
 error: invalid use of incomplete type 'const struct
 boost::serialization::extended_type_info'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:42:
 error: forward declaration of 'const struct
 boost::serialization::extended_type_info'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:167:
 error: invalid use of incomplete type 'const struct
 boost::serialization::extended_type_info'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:42:
 error: forward declaration of 'const struct
 boost::serialization::extended_type_info'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:168:
 error: invalid use of incomplete type 'const struct
 boost::serialization::extended_type_info'
 /home/lofty/boost_1_56/include/boost/serialization/shared_ptr_helper.hpp:42:
 error: forward declaration of 'const struct
 boost::serialization::extended_type_info'
 scons: ***
 [linalg/build/debug_hostconfig,boost=1-56/TestChebyshevIterationRunner.o]
 Error 1
 }}}

 I fixed this with two new boost #includes in
 `boost/serialization/shared_ptr_helper.hpp`, to include files in the
 serialization library that are mentioned in this file, but not #included.

 So I've submitted a pull request on github to fix it.

 (sorry, trac wouldn't let me create a ticket with links to the pull
 request)

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10348>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC