Boost C++ Libraries: Ticket #11005: register_archive.hpp needs modification for Oralce Solaris Studio compilers. https://svn.boost.org/trac10/ticket/11005 <p> Compiling on Solaris 11.2 with Oracle Solaris Studio 12.4 compilers, several serialization tests fail as shown. </p> <p> "CC" -compat=5 -library=stlport4 -xO4 -erroff=%none -KPIC -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I".." -c -o "/export/home/boost_regression/boost_sparc-S2_stlport4/results/boost/bin.v2/libs/serialization/build/sun-stlport4/release/text_iarchive.o" "../libs/serialization/src/text_iarchive.cpp" <br /> </p> <p> "../boost/archive/detail/register_archive.hpp", line 45: Error: The function "adjust_counter" must have a prototype. <br /> "../boost/archive/text_iarchive.hpp", line 136: Where: While specializing "boost::archive::detail::get_counter&lt;boost::archive::text_iarchive&gt;"."../boost/archive/text_iarchive.hpp", line 136: Where: Specialized in non-template code. "../boost/archive/detail/register_archive.hpp", line 46: Error: Expression must have a constant value. <br /> "../boost/archive/text_iarchive.hpp", line 136: Where: While specializing "boost::archive::detail::get_counter&lt;boost::archive::text_iarchive&gt;"."../boost/archive/text_iarchive.hpp", line 136: Where: Specialized in non-template code. "../boost/archive/detail/register_archive.hpp", line 47: Error: Expression must have a constant value. <br /> "../boost/archive/text_iarchive.hpp", line 136: Where: While specializing "boost::archive::detail::get_counter&lt;boost::archive::text_iarchive&gt;"."../boost/archive/text_iarchive.hpp", line 136: Where: Specialized in non-template code. "../boost/archive/detail/register_archive.hpp", line 48: Error: An integer constant expression is required within the array subscript operator. <br /> "../boost/archive/text_iarchive.hpp", line 136: Where: While specializing "boost::archive::detail::get_counter&lt;boost::archive::text_iarchive&gt;"."../boost/archive/text_iarchive.hpp", line 136: Where: Specialized in non-template code. "../boost/archive/text_iarchive.hpp", line 136: Error: Multiple declaration for adjust_counter. <br /> "../boost/archive/text_iarchive.hpp", line 136: Error: Unexpected type name "get_counter&lt;boost::archive::text_iarchive&gt;::type" encountered. <br /> 6 Error(s) detected. <br /> </p> <p> The following modification to boost/archive/detail/register_archive.hpp, resolves this issue. <br /> </p> <p> diff ./register_archive.hpp_orig ./register_archive.hpp <br /> 31c31 <br /> &lt; #ifdef <span class="underline">SUNPRO_CC <br /> --- <br /> </span></p> <blockquote class="citation"> <p> #if defined(<span class="underline">SUNPRO_CC) &amp;&amp; (</span>SUNPRO_CC &lt; 0x5130) <br /> </p> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11005 Trac 1.4.3 Robert Ramey Mon, 09 Feb 2015 18:28:01 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/11005#comment:1 https://svn.boost.org/trac10/ticket/11005#comment:1 <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">duplicate</span> </li> </ul> Ticket