id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9153,Building boost::log in Sun Studio 12.3: boost::log::aux::light_function fails to build,Brian Vandenberg ,Andrey Semashev,"I get an error building boost::log in Sun Studio 12.3, while building anything that uses '''light_function_pp.hpp''': {{{ ""./boost/log/detail/light_function_pp.hpp"", line 44: Error: Multiple declaration for impl. ""./boost/log/expressions/filter.hpp"", line 58: Where: While specializing ""boost::log::v2_mt_posix::aux::light_function"". ""./boost/log/expressions/filter.hpp"", line 58: Where: Specialized in non-template code. }}} I can reproduce this problem on a much smaller scale: {{{ template < typename SignatureT > class light_function ; template < typename ResultT, typename ArgT0 > class light_function < ResultT ( ArgT0 ) > { private: struct impl_base {}; impl_base *m_pImpl; #if defined( BREAK_IT ) template < typename FunT > class impl; template < typename FunT > friend class impl; #endif template < typename FunT > class impl : public impl_base {}; #if !defined( BREAK_IT ) template < typename FunT > friend class impl; #endif public: template light_function( T const &t ) : m_pImpl( static_cast() ) {} }; int main( int argc, char *argv[] ) { light_function lf(3); return 0; } }}} When compiled in Linux or Solaris with SS12.3, I get the exact same error.",Bugs,closed,To Be Determined,log,Boost 1.54.0,Problem,fixed,,phantall+boost@…