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