
On Mar 8, 2010, at 1:37 AM, Vladimir Prus wrote:
The downloads are at:
Hi, I was thinking of submitting a review, tried to build the library with gcc-4.2.4, and ran into this error. I apologize in advance if this has already been discussed / resolved, I haven't been following the discussion. ../../../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_st::basic_attribute_set<wchar_t>::implementation::node, NodeTraits = boost::log_st::<unnamed>::ordered_list<boost::log_st::basic_attribute_se t<wchar_t>::implementation::node, boost::log_st::basic_attribute_set<wchar_t>::node_base>::node_traits, boost::intrusive::link_mode_type LinkMode = safe_link]’ is not a valid template argument for type ‘boost::log_st::basic_attribute_set<wchar_t>::node_base* (*) (boost::log_st::basic_attribute_set<wchar_t>::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_st::basic_attribute_set<wchar_t>::implementation::node, NodeTraits = boost::log_st::<unnamed>::ordered_list<boost::log_st::basic_attribute_se t<wchar_t>::implementation::node, boost::log_st::basic_attribute_set<wchar_t>::node_base>::node_traits, boost::intrusive::link_mode_type LinkMode = safe_link]’ has not external linkage "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fno-strict- aliasing -DBOOST_ALL_NO_LIB=1 -DBOOST_LOG_BUILDING_THE_LIB=1 - DBOOST_LOG_NO_THREADS -DBOOST_LOG_USE_NATIVE_SYSLOG=1 - DBOOST_SYSTEM_STATIC_LINK=1 -DDATE_TIME_INLINE -I"../../.." -c -o "../../../bin.v2/libs/log/build/gcc-4.2.4/debug/link-static/ attribute_set.o" "../../../libs/log/src/attribute_set.cpp" The tar ball was named RC4 and was laid down over Boost trunk in case that matters. -- Noel Here's the program I was trying to compile. #include <iostream> #include <stdexcept> #include "mpi.h" #include <boost/log/core.hpp> #include <boost/log/trivial.hpp> int main (int argc, char *argv[]) { try { boost::log::sources::logger lg; MPI_Init(&argc, &argv); int rank = 0; MPI_Comm_rank(MPI_COMM_WORLD, &rank); BOOST_LOG(lg) << "hello from processor " << rank << "\n"; MPI_Finalize(); } catch (std::exception& e) { std::cout << e.what() << std::endl; } catch (...) { } return 0; }