[Boost-bugs] [Boost C++ Libraries] #3729: boost.log and 1.41.0 : external linkage error

Subject: [Boost-bugs] [Boost C++ Libraries] #3729: boost.log and 1.41.0 : external linkage error
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-12-08 11:26:58


#3729: boost.log and 1.41.0 : external linkage error
----------------------------------------+-----------------------------------
 Reporter: lb <lburgazzoli@…> | Owner: igaztanaga
     Type: Bugs | Status: new
Milestone: Boost 1.42.0 | Component: intrusive
  Version: Boost 1.41.0 | Severity: Problem
 Keywords: |
----------------------------------------+-----------------------------------
 compilation of boost.log (http://boost-log.sourceforge.net) within boost
 1.41 on Mac OSX 10.5 and gcc 4.2.1 fails due to an "external linkage"
 error:

 ./boost/intrusive/detail/is_stateful_value_traits.hpp:38: error: ‘&
 boost::intrusive::derivation_value_traits<T, NodeTraits,
 LinkMode>::to_node_ptr [with T =
 boost::log_mt_posix::basic_attribute_set<char>::implementation::node,
 NodeTraits =
 boost::log_mt_posix::<unnamed>::ordered_list<boost::log_mt_posix::basic_attribute_set<char>::implementation::node,
 boost::log_mt_posix::basic_attribute_set<char>::node_base>::node_traits,
 boost::intrusive::link_mode_type LinkMode = safe_link]’ is not a valid
 template argument for type
 â€˜boost::log_mt_posix::basic_attribute_set<char>::node_base*
 (*)(boost::log_mt_posix::basic_attribute_set<char>::implementation::node&)’
 because function ‘static typename NodeTraits::node_ptr
 boost::intrusive::derivation_value_traits<T, NodeTraits,
 LinkMode>::to_node_ptr(typename std::iterator_traits<typename
 boost::pointer_to_other<typename NodeTraits::node_ptr,
 T>::type>::reference) [with T =
 boost::log_mt_posix::basic_attribute_set<char>::implementation::node,
 NodeTraits =
 boost::log_mt_posix::<unnamed>::ordered_list<boost::log_mt_posix::basic_attribute_set<char>::implementation::node,
 boost::log_mt_posix::basic_attribute_set<char>::node_base>::node_traits,
 boost::intrusive::link_mode_type LinkMode = safe_link]’ has not external
 linkage

  "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall
 -dynamic -no-cpp-precomp -gdwarf-2 -fPIC -DBOOST_ALL_NO_LIB=1
 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1
 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_DLL -DBOOST_LOG_USE_CHAR
 -DBOOST_LOG_USE_NATIVE_SYSLOG=1 -DBOOST_SYSTEM_DYN_LINK=1
 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DDATE_TIME_INLINE -DNDEBUG
 -I"." -c -o "bin.v2/libs/log/build/darwin-4.2.1/release/threading-
 multi/attribute_set.o" "libs/log/src/attribute_set.cpp"

 I had reported the problem to the boost.log maintaner before to open the
 ticket and the response was:


 {{{
 Looks like a compiler bug to me since the
 derivation_value_traits::to_value_ptr clearly has external linkage.

 You should report the problem to Boost.Intrusive maintainer.
 I'm not sure I can work it around on Boost.Log side.
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3729>
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:02 UTC