Boost C++ Libraries: Ticket #12126: Some serialization headers fail to compile independently https://svn.boost.org/trac10/ticket/12126 <p> The <a href="http://www.boost.org/development/header.html">Boost header policy</a> requires: </p> <blockquote class="citation"> <p> Make sure that a translation unit consisting of just the contents of the header file will compile successfully. </p> </blockquote> <p> ...but several of the serialization headers to not meet this standard, eg: </p> <pre class="wiki">&gt; clang++ -isystem serialization/include -isystem /opt/include -x c++ -c -o /tmp/a.o serialization/include/boost/serialization/set.hpp In file included from serialization/include/boost/serialization/set.hpp:26: serialization/include/boost/serialization/detail/stack_constructor.hpp:50:31: error: no member named 'load_construct_data_adl' in namespace 'boost::serialization' boost::serialization::load_construct_data_adl( ~~~~~~~~~~~~~~~~~~~~~~^ 1 error generated. </pre><pre class="wiki">&gt; g++ -isystem serialization/include -isystem /opt/include -x c++ -c -o /tmp/a.o serialization/include/boost/serialization/set.hpp In file included from serialization/include/boost/serialization/set.hpp:26:0: serialization/include/boost/serialization/detail/stack_constructor.hpp: In constructor ‘boost::serialization::detail::stack_construct&lt;Archive, T&gt;::stack_construct(Archive&amp;, unsigned int)’: serialization/include/boost/serialization/detail/stack_constructor.hpp:50:9: error: ‘load_construct_data_adl’ is not a member of ‘boost::serialization </pre><p> Thanks very much for all work on this library. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12126 Trac 1.4.3 Robert Ramey Sat, 16 Apr 2016 19:12:19 GMT <link>https://svn.boost.org/trac10/ticket/12126#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12126#comment:1</guid> <description> <p> set.hp - right </p> <p> what are the other headers and what are they missing? In other words, what's the fix? </p> </description> <category>Ticket</category> </item> <item> <author>Tony Lewis <tonyelewis@…></author> <pubDate>Tue, 19 Apr 2016 14:54:58 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12126#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12126#comment:2</guid> <description> <p> Apologies for the dump, but it seems the best way to answer... </p> <p> From: </p> <pre class="wiki">find serialization/include/boost/serialization -iname '*.hpp' | sort | grep detail -v | grep impl -v | xargs -I VAR /bin/tcsh -c "echo VAR; clang++ -isystem serialization/include/ -isystem /tmp/boost -x c++ -c -o /tmp/a.o VAR" </pre><p> I get: </p> <pre class="wiki">serialization/include/boost/serialization/access.hpp serialization/include/boost/serialization/archive_input_unordered_map.hpp serialization/include/boost/serialization/archive_input_unordered_map.hpp:39:17: error: no member named 'stack_construct' in namespace 'boost::serialization::detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ~~~~~~~~^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:39:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:30:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:40:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:43:26: error: use of undeclared identifier 't' s.insert(t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:53:19: error: use of undeclared identifier 't' &amp; t.reference().second ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:69:17: error: no member named 'stack_construct' in namespace 'boost::serialization::detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ~~~~~~~~^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:69:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:60:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:70:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:73:26: error: use of undeclared identifier 't' s.insert(t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_map.hpp:82:15: error: use of undeclared identifier 't' &amp; t.reference() ^ 10 errors generated. serialization/include/boost/serialization/archive_input_unordered_set.hpp serialization/include/boost/serialization/archive_input_unordered_set.hpp:35:9: error: use of undeclared identifier 'detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:35:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:26:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:37:37: error: no member named 'make_nvp' in namespace 'boost::serialization' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ~~~~~~~~~~~~~~~~~~~~~~^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:37:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:38:9: error: use of undeclared identifier 'std'; did you mean 'stl'? std::pair&lt;typename Container::const_iterator, bool&gt; result = ^~~ stl serialization/include/boost/serialization/archive_input_unordered_set.hpp:23:11: note: 'stl' declared here namespace stl { ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:38:14: error: no member named 'pair' in namespace 'boost::serialization::stl' std::pair&lt;typename Container::const_iterator, bool&gt; result = ~~~~~^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:38:53: error: expected '(' for function-style cast or type construction std::pair&lt;typename Container::const_iterator, bool&gt; result = ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:44:12: error: use of undeclared identifier 'result' if(result.second) ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:45:42: error: use of undeclared identifier 'result' ar.reset_object_address(&amp; (* result.first), &amp; t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:45:59: error: use of undeclared identifier 't' ar.reset_object_address(&amp; (* result.first), &amp; t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:59:9: error: use of undeclared identifier 'detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:59:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:50:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:60:37: error: no member named 'make_nvp' in namespace 'boost::serialization' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ~~~~~~~~~~~~~~~~~~~~~~^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:60:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:65:27: error: use of undeclared identifier 't' s.emplace(t.reference()); ^ serialization/include/boost/serialization/archive_input_unordered_set.hpp:67:49: error: use of undeclared identifier 't' ar.reset_object_address(&amp; (* result), &amp; t.reference()); ^ 16 errors generated. serialization/include/boost/serialization/array.hpp serialization/include/boost/serialization/assume_abstract.hpp serialization/include/boost/serialization/base_object.hpp serialization/include/boost/serialization/binary_object.hpp serialization/include/boost/serialization/bitset.hpp serialization/include/boost/serialization/boost_unordered_map.hpp serialization/include/boost/serialization/boost_unordered_set.hpp serialization/include/boost/serialization/collection_size_type.hpp serialization/include/boost/serialization/collections_load_imp.hpp In file included from serialization/include/boost/serialization/collections_load_imp.hpp:38: serialization/include/boost/serialization/detail/stack_constructor.hpp:50:31: error: no member named 'load_construct_data_adl' in namespace 'boost::serialization' boost::serialization::load_construct_data_adl( ~~~~~~~~~~~~~~~~~~~~~~^ 1 error generated. serialization/include/boost/serialization/collections_save_imp.hpp serialization/include/boost/serialization/collection_traits.hpp serialization/include/boost/serialization/complex.hpp serialization/include/boost/serialization/config.hpp serialization/include/boost/serialization/deque.hpp serialization/include/boost/serialization/ephemeral.hpp serialization/include/boost/serialization/ephemeral.hpp:5:9: warning: #pragma once in main file #pragma once ^ 1 warning generated. serialization/include/boost/serialization/export.hpp serialization/include/boost/serialization/extended_type_info.hpp serialization/include/boost/serialization/extended_type_info_no_rtti.hpp serialization/include/boost/serialization/extended_type_info_typeid.hpp serialization/include/boost/serialization/factory.hpp serialization/include/boost/serialization/factory.hpp:37:5: error: use of undeclared identifier 'BOOST_ASSERT' BOOST_ASSERT(false); ^ 1 error generated. serialization/include/boost/serialization/force_include.hpp serialization/include/boost/serialization/forward_list.hpp In file included from serialization/include/boost/serialization/forward_list.hpp:19: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/forward_list:35: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ^ serialization/include/boost/serialization/forward_list.hpp:24:2: error: "not supported for versions earlier than c++11 #error "not supported for versions earlier than c++11 ^ serialization/include/boost/serialization/forward_list.hpp:43:16: error: no type named 'forward_list' in namespace 'std' const std::forward_list&lt;U, Allocator&gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/forward_list.hpp:43:28: error: expected ')' const std::forward_list&lt;U, Allocator&gt; &amp;t, ^ serialization/include/boost/serialization/forward_list.hpp:41:17: note: to match this '(' inline void save( ^ serialization/include/boost/serialization/forward_list.hpp:46:52: error: use of undeclared identifier 't' const collection_size_type count(std::distance(t.cbegin(), t.cend())); ^ serialization/include/boost/serialization/forward_list.hpp:46:64: error: use of undeclared identifier 't' const collection_size_type count(std::distance(t.cbegin(), t.cend())); ^ serialization/include/boost/serialization/forward_list.hpp:49:14: error: no member named 'forward_list' in namespace 'std' std::forward_list&lt;U, Allocator&gt; ~~~~~^ serialization/include/boost/serialization/forward_list.hpp:49:27: error: 'U' does not refer to a value std::forward_list&lt;U, Allocator&gt; ^ serialization/include/boost/serialization/forward_list.hpp:40:31: note: declared here template&lt;class Archive, class U, class Allocator&gt; ^ serialization/include/boost/serialization/forward_list.hpp:50:5: error: expected unqualified-id &gt;(ar, t, count); ^ serialization/include/boost/serialization/forward_list.hpp:62:23: error: no type named 'forward_list' in namespace 'std' typename std::forward_list&lt;T, Allocator&gt;::value_type ~~~~~~~~~~~~~~^~~~~~~~~~~~ serialization/include/boost/serialization/forward_list.hpp:62:49: error: no type named 'value_type' in the global namespace; did you mean 'false_type'? typename std::forward_list&lt;T, Allocator&gt;::value_type ^~~~~~~~~~~~ false_type /tmp/boost/boost/type_traits/integral_constant.hpp:102:43: note: 'false_type' declared here typedef integral_constant&lt;bool, false&gt; false_type; ^ serialization/include/boost/serialization/forward_list.hpp:63:6: error: expected unqualified-id &gt;, ^ serialization/include/boost/serialization/forward_list.hpp:92:10: error: no type named 'forward_list' in namespace 'std' std::forward_list&lt;U, Allocator&gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/forward_list.hpp:92:22: error: expected ')' std::forward_list&lt;U, Allocator&gt; &amp;t, ^ serialization/include/boost/serialization/forward_list.hpp:90:17: note: to match this '(' inline void load( ^ serialization/include/boost/serialization/forward_list.hpp:105:35: error: use of undeclared identifier 't' stl::collection_load_impl(ar, t, count, item_version); ^ serialization/include/boost/serialization/forward_list.hpp:113:10: error: no type named 'forward_list' in namespace 'std' std::forward_list&lt;U, Allocator&gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/forward_list.hpp:113:22: error: expected ')' std::forward_list&lt;U, Allocator&gt; &amp;t, ^ serialization/include/boost/serialization/forward_list.hpp:111:22: note: to match this '(' inline void serialize( ^ serialization/include/boost/serialization/forward_list.hpp:116:42: error: use of undeclared identifier 't' boost::serialization::split_free(ar, t, file_version); ^ serialization/include/boost/serialization/forward_list.hpp:116:45: error: use of undeclared identifier 'file_version' boost::serialization::split_free(ar, t, file_version); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. serialization/include/boost/serialization/hash_collections_load_imp.hpp serialization/include/boost/serialization/hash_collections_save_imp.hpp serialization/include/boost/serialization/hash_map.hpp In file included from serialization/include/boost/serialization/hash_map.hpp:22: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/ext/hash_map:60: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/backward/backward_warning.h:32:2: warning: This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-W#warnings] #warning \ ^ serialization/include/boost/serialization/hash_map.hpp:44:17: error: no member named 'stack_construct' in namespace 'boost::serialization::detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ~~~~~~~~^ serialization/include/boost/serialization/hash_map.hpp:44:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/hash_map.hpp:35:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/hash_map.hpp:46:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/hash_map.hpp:48:22: error: use of undeclared identifier 't' s.insert(t.reference()); ^ serialization/include/boost/serialization/hash_map.hpp:55:19: error: use of undeclared identifier 't' &amp; t.reference().second ^ serialization/include/boost/serialization/hash_map.hpp:71:17: error: no member named 'stack_construct' in namespace 'boost::serialization::detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ~~~~~~~~^ serialization/include/boost/serialization/hash_map.hpp:71:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/hash_map.hpp:62:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/hash_map.hpp:73:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/hash_map.hpp:75:24: error: use of undeclared identifier 't' = s.insert(t.reference()); ^ serialization/include/boost/serialization/hash_map.hpp:81:15: error: use of undeclared identifier 't' &amp; t.reference() ^ 1 warning and 10 errors generated. serialization/include/boost/serialization/hash_set.hpp In file included from serialization/include/boost/serialization/hash_set.hpp:21: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/ext/hash_set:60: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/backward/backward_warning.h:32:2: warning: This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-W#warnings] #warning \ ^ serialization/include/boost/serialization/hash_set.hpp:42:17: error: no member named 'stack_construct' in namespace 'boost::serialization::detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ~~~~~~~~^ serialization/include/boost/serialization/hash_set.hpp:42:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/hash_set.hpp:33:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/hash_set.hpp:44:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/hash_set.hpp:46:22: error: use of undeclared identifier 't' s.insert(t.reference()); ^ serialization/include/boost/serialization/hash_set.hpp:48:59: error: use of undeclared identifier 't' ar.reset_object_address(&amp; (* result.first), &amp; t.reference()); ^ serialization/include/boost/serialization/hash_set.hpp:62:17: error: no member named 'stack_construct' in namespace 'boost::serialization::detail' detail::stack_construct&lt;Archive, type&gt; t(ar, v); ~~~~~~~~^ serialization/include/boost/serialization/hash_set.hpp:62:33: error: 'Archive' does not refer to a value detail::stack_construct&lt;Archive, type&gt; t(ar, v); ^ serialization/include/boost/serialization/hash_set.hpp:53:16: note: declared here template&lt;class Archive, class Container&gt; ^ serialization/include/boost/serialization/hash_set.hpp:64:54: error: use of undeclared identifier 't' ar &gt;&gt; boost::serialization::make_nvp("item", t.reference()); ^ serialization/include/boost/serialization/hash_set.hpp:66:24: error: use of undeclared identifier 't' = s.insert(t.reference()); ^ serialization/include/boost/serialization/hash_set.hpp:67:49: error: use of undeclared identifier 't' ar.reset_object_address(&amp; (* result), &amp; t.reference()); ^ 1 warning and 10 errors generated. serialization/include/boost/serialization/is_bitwise_serializable.hpp serialization/include/boost/serialization/item_version_type.hpp serialization/include/boost/serialization/level_enum.hpp serialization/include/boost/serialization/level.hpp serialization/include/boost/serialization/list.hpp serialization/include/boost/serialization/map.hpp serialization/include/boost/serialization/nvp.hpp serialization/include/boost/serialization/optional.hpp serialization/include/boost/serialization/priority_queue.hpp serialization/include/boost/serialization/priority_queue.hpp:57:22: error: use of undeclared identifier 'mpl' typedef typename mpl::eval_if&lt; ^ serialization/include/boost/serialization/priority_queue.hpp:57:27: error: expected a qualified name after 'typename' typedef typename mpl::eval_if&lt; ^ serialization/include/boost/serialization/priority_queue.hpp:57:34: error: expected ';' at end of declaration typedef typename mpl::eval_if&lt; ^ ; serialization/include/boost/serialization/priority_queue.hpp:62:17: error: unknown type name 'typex' static_cast&lt;typex &amp;&gt;(t)(ar, file_version); ^ 4 errors generated. serialization/include/boost/serialization/queue.hpp serialization/include/boost/serialization/queue.hpp:57:22: error: use of undeclared identifier 'mpl' typedef typename mpl::eval_if&lt; ^ serialization/include/boost/serialization/queue.hpp:57:27: error: expected a qualified name after 'typename' typedef typename mpl::eval_if&lt; ^ serialization/include/boost/serialization/queue.hpp:57:34: error: expected ';' at end of declaration typedef typename mpl::eval_if&lt; ^ ; serialization/include/boost/serialization/queue.hpp:62:17: error: unknown type name 'typex' static_cast&lt;typex &amp;&gt;(t)(ar, file_version); ^ 4 errors generated. serialization/include/boost/serialization/scoped_ptr.hpp serialization/include/boost/serialization/serialization.hpp serialization/include/boost/serialization/set.hpp In file included from serialization/include/boost/serialization/set.hpp:26: serialization/include/boost/serialization/detail/stack_constructor.hpp:50:31: error: no member named 'load_construct_data_adl' in namespace 'boost::serialization' boost::serialization::load_construct_data_adl( ~~~~~~~~~~~~~~~~~~~~~~^ 1 error generated. serialization/include/boost/serialization/shared_ptr_132.hpp serialization/include/boost/serialization/shared_ptr_helper.hpp serialization/include/boost/serialization/shared_ptr.hpp serialization/include/boost/serialization/singleton.hpp serialization/include/boost/serialization/slist.hpp serialization/include/boost/serialization/smart_cast.hpp serialization/include/boost/serialization/split_free.hpp serialization/include/boost/serialization/split_member.hpp serialization/include/boost/serialization/stack.hpp serialization/include/boost/serialization/stack.hpp:57:22: error: use of undeclared identifier 'mpl' typedef typename mpl::eval_if&lt; ^ serialization/include/boost/serialization/stack.hpp:57:27: error: expected a qualified name after 'typename' typedef typename mpl::eval_if&lt; ^ serialization/include/boost/serialization/stack.hpp:57:34: error: expected ';' at end of declaration typedef typename mpl::eval_if&lt; ^ ; serialization/include/boost/serialization/stack.hpp:62:17: error: unknown type name 'typex' static_cast&lt;typex &amp;&gt;(t)(ar, file_version); ^ 4 errors generated. serialization/include/boost/serialization/state_saver.hpp serialization/include/boost/serialization/static_warning.hpp serialization/include/boost/serialization/string.hpp serialization/include/boost/serialization/strong_typedef.hpp serialization/include/boost/serialization/throw_exception.hpp serialization/include/boost/serialization/tracking_enum.hpp serialization/include/boost/serialization/tracking.hpp serialization/include/boost/serialization/traits.hpp serialization/include/boost/serialization/unique_ptr.hpp serialization/include/boost/serialization/unique_ptr.hpp:32:16: error: no type named 'unique_ptr' in namespace 'std' const std::unique_ptr&lt; T &gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/unique_ptr.hpp:32:26: error: expected ')' const std::unique_ptr&lt; T &gt; &amp;t, ^ serialization/include/boost/serialization/unique_ptr.hpp:30:17: note: to match this '(' inline void save( ^ serialization/include/boost/serialization/unique_ptr.hpp:37:26: error: use of undeclared identifier 't' const T * const tx = t.get(); ^ serialization/include/boost/serialization/unique_ptr.hpp:44:10: error: no type named 'unique_ptr' in namespace 'std' std::unique_ptr&lt; T &gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/unique_ptr.hpp:44:20: error: expected ')' std::unique_ptr&lt; T &gt; &amp;t, ^ serialization/include/boost/serialization/unique_ptr.hpp:42:17: note: to match this '(' inline void load( ^ serialization/include/boost/serialization/unique_ptr.hpp:50:5: error: use of undeclared identifier 't' t.reset(tx); ^ serialization/include/boost/serialization/unique_ptr.hpp:58:10: error: no type named 'unique_ptr' in namespace 'std' std::unique_ptr&lt; T &gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/unique_ptr.hpp:58:20: error: expected ')' std::unique_ptr&lt; T &gt; &amp;t, ^ serialization/include/boost/serialization/unique_ptr.hpp:56:22: note: to match this '(' inline void serialize( ^ serialization/include/boost/serialization/unique_ptr.hpp:61:42: error: use of undeclared identifier 't' boost::serialization::split_free(ar, t, file_version); ^ serialization/include/boost/serialization/unique_ptr.hpp:61:45: error: use of undeclared identifier 'file_version' boost::serialization::split_free(ar, t, file_version); ^ 10 errors generated. serialization/include/boost/serialization/unordered_collections_load_imp.hpp In file included from serialization/include/boost/serialization/unordered_collections_load_imp.hpp:36: serialization/include/boost/serialization/detail/stack_constructor.hpp:50:31: error: no member named 'load_construct_data_adl' in namespace 'boost::serialization' boost::serialization::load_construct_data_adl( ~~~~~~~~~~~~~~~~~~~~~~^ 1 error generated. serialization/include/boost/serialization/unordered_collections_save_imp.hpp serialization/include/boost/serialization/unordered_map.hpp In file included from serialization/include/boost/serialization/unordered_map.hpp:23: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/unordered_map:35: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ^ serialization/include/boost/serialization/unordered_map.hpp:43:16: error: no type named 'unordered_map' in namespace 'std' const std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:43:29: error: expected ')' const std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; &amp;t, ^ serialization/include/boost/serialization/unordered_map.hpp:41:17: note: to match this '(' inline void save( ^ serialization/include/boost/serialization/unordered_map.hpp:48:14: error: no member named 'unordered_map' in namespace 'std' std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:48:28: error: 'Key' does not refer to a value std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; ^ serialization/include/boost/serialization/unordered_map.hpp:36:11: note: declared here class Key, ^ serialization/include/boost/serialization/unordered_map.hpp:49:5: error: expected unqualified-id &gt;(ar, t); ^ serialization/include/boost/serialization/unordered_map.hpp:61:10: error: no type named 'unordered_map' in namespace 'std' std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:61:23: error: expected ')' std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; &amp;t, ^ serialization/include/boost/serialization/unordered_map.hpp:59:17: note: to match this '(' inline void load( ^ serialization/include/boost/serialization/unordered_map.hpp:66:14: error: no member named 'unordered_map' in namespace 'std' std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt;, ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:66:28: error: 'Key' does not refer to a value std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt;, ^ serialization/include/boost/serialization/unordered_map.hpp:54:11: note: declared here class Key, ^ serialization/include/boost/serialization/unordered_map.hpp:66:62: error: expected unqualified-id std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt;, ^ serialization/include/boost/serialization/unordered_map.hpp:85:10: error: no type named 'unordered_map' in namespace 'std' std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; &amp;t, ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:85:23: error: expected ')' std::unordered_map&lt;Key, HashFcn, EqualKey, Allocator&gt; &amp;t, ^ serialization/include/boost/serialization/unordered_map.hpp:83:22: note: to match this '(' inline void serialize( ^ serialization/include/boost/serialization/unordered_map.hpp:88:42: error: use of undeclared identifier 't' boost::serialization::split_free(ar, t, file_version); ^ serialization/include/boost/serialization/unordered_map.hpp:88:45: error: use of undeclared identifier 'file_version' boost::serialization::split_free(ar, t, file_version); ^ serialization/include/boost/serialization/unordered_map.hpp:101:16: error: no type named 'unordered_multimap' in namespace 'std' const std::unordered_multimap&lt; ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:101:34: error: expected ')' const std::unordered_multimap&lt; ^ serialization/include/boost/serialization/unordered_map.hpp:99:17: note: to match this '(' inline void save( ^ serialization/include/boost/serialization/unordered_map.hpp:108:14: error: no member named 'unordered_multimap' in namespace 'std' std::unordered_multimap&lt;Key, HashFcn, EqualKey, Allocator&gt; ~~~~~^ serialization/include/boost/serialization/unordered_map.hpp:108:33: error: 'Key' does not refer to a value std::unordered_multimap&lt;Key, HashFcn, EqualKey, Allocator&gt; ^ serialization/include/boost/serialization/unordered_map.hpp:94:11: note: declared here class Key, ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. serialization/include/boost/serialization/unordered_set.hpp In file included from serialization/include/boost/serialization/unordered_set.hpp:22: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/unordered_set:35: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/bits/c++0x_warning.h:32:2: error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ^ serialization/include/boost/serialization/unordered_set.hpp:41:16: error: no type named 'unordered_set' in namespace 'std' const std::unordered_set&lt; ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:41:29: error: expected ')' const std::unordered_set&lt; ^ serialization/include/boost/serialization/unordered_set.hpp:39:17: note: to match this '(' inline void save( ^ serialization/include/boost/serialization/unordered_set.hpp:48:14: error: no member named 'unordered_set' in namespace 'std' std::unordered_set&lt;Key, HashFcn, EqualKey, Allocator&gt; ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:48:28: error: 'Key' does not refer to a value std::unordered_set&lt;Key, HashFcn, EqualKey, Allocator&gt; ^ serialization/include/boost/serialization/unordered_set.hpp:34:11: note: declared here class Key, ^ serialization/include/boost/serialization/unordered_set.hpp:49:5: error: expected unqualified-id &gt;(ar, t); ^ serialization/include/boost/serialization/unordered_set.hpp:61:10: error: no type named 'unordered_set' in namespace 'std' std::unordered_set&lt; ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:61:23: error: expected ')' std::unordered_set&lt; ^ serialization/include/boost/serialization/unordered_set.hpp:59:17: note: to match this '(' inline void load( ^ serialization/include/boost/serialization/unordered_set.hpp:68:14: error: no member named 'unordered_set' in namespace 'std' std::unordered_set&lt;Key, HashFcn, EqualKey, Allocator&gt;, ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:68:28: error: 'Key' does not refer to a value std::unordered_set&lt;Key, HashFcn, EqualKey, Allocator&gt;, ^ serialization/include/boost/serialization/unordered_set.hpp:54:11: note: declared here class Key, ^ serialization/include/boost/serialization/unordered_set.hpp:68:62: error: expected unqualified-id std::unordered_set&lt;Key, HashFcn, EqualKey, Allocator&gt;, ^ serialization/include/boost/serialization/unordered_set.hpp:89:10: error: no type named 'unordered_set' in namespace 'std' std::unordered_set&lt; ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:89:23: error: expected ')' std::unordered_set&lt; ^ serialization/include/boost/serialization/unordered_set.hpp:87:22: note: to match this '(' inline void serialize( ^ serialization/include/boost/serialization/unordered_set.hpp:94:20: error: use of undeclared identifier 't' split_free(ar, t, file_version); ^ serialization/include/boost/serialization/unordered_set.hpp:94:23: error: use of undeclared identifier 'file_version' split_free(ar, t, file_version); ^ serialization/include/boost/serialization/unordered_set.hpp:107:16: error: no type named 'unordered_multiset' in namespace 'std' const std::unordered_multiset&lt; ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:107:34: error: expected ')' const std::unordered_multiset&lt; ^ serialization/include/boost/serialization/unordered_set.hpp:105:17: note: to match this '(' inline void save( ^ serialization/include/boost/serialization/unordered_set.hpp:114:14: error: no member named 'unordered_multiset' in namespace 'std' std::unordered_multiset&lt;Key, HashFcn, EqualKey, Allocator&gt; ~~~~~^ serialization/include/boost/serialization/unordered_set.hpp:114:33: error: 'Key' does not refer to a value std::unordered_multiset&lt;Key, HashFcn, EqualKey, Allocator&gt; ^ serialization/include/boost/serialization/unordered_set.hpp:100:11: note: declared here class Key, ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. serialization/include/boost/serialization/utility.hpp serialization/include/boost/serialization/valarray.hpp serialization/include/boost/serialization/variant.hpp serialization/include/boost/serialization/vector_135.hpp serialization/include/boost/serialization/vector.hpp serialization/include/boost/serialization/version.hpp serialization/include/boost/serialization/void_cast_fwd.hpp serialization/include/boost/serialization/void_cast.hpp serialization/include/boost/serialization/weak_ptr.hpp serialization/include/boost/serialization/wrapper.hpp </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Mon, 25 Apr 2016 01:53:37 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/12126#comment:3 https://svn.boost.org/trac10/ticket/12126#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> OK - I'm fixing this on my machine - I'll check in to develop shortly </p> Ticket Tony Lewis <tonyelewis@…> Mon, 25 Apr 2016 18:46:12 GMT <link>https://svn.boost.org/trac10/ticket/12126#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12126#comment:4</guid> <description> <p> Yep - I'm now seeing them all compile cleanly under <code>-std=c++11</code> except <code>hash_map.hpp</code> and <code>hash_set.hpp</code> which have deprecated warnings before any failures (perhaps time to remove these if they can't be made to compile cleanly by themselves?). </p> <p> Thanks very much for addressing this quickly </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Mike Purvis</dc:creator> <pubDate>Thu, 07 Jul 2016 03:47:00 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12126#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12126#comment:5</guid> <description> <p> Is there a workaround for this? It appears that <code>boost/serialization/set.hpp</code> is completely broken on Boost 1.58, the version that's the default on Ubuntu 16.04 LTS. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Jan</dc:creator> <pubDate>Thu, 14 Jul 2016 16:04:01 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12126#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12126#comment:6</guid> <description> <p> Mike, for me a workaround was to include boost/serialization/serialization.hpp just before including boost/serialization/set.hpp , this did the trick. </p> </description> <category>Ticket</category> </item> </channel> </rss>