Jim,
I believe this has also turned up on FC8 with the boost update and need
to be updated to
work with the new version of boost. Thanks for spotting the typos.
Carl.
Jim Hague wrote:
Hi,
I've checked out svn.apache.org/repos/asf/incubator/qpid/trunk and I'm trying
to build the C++ broker.
I'm doing this on a Debian Unstable box. This has later versions of a couple
of packages than the versions listed in the README - pkg-config is 0.22,
Boost is 1.34.1. I am assuming that the requirement in the README for gcc as
3.2.3 is a typo, and should be 4.2.3.
The build fails in qpid/broker/Connection.cpp. Before I start brushing the
rust off my C++ skills, has anyone else tried building with Boost 1.34.1?
Jim
qpid/broker/Connection.cpp: In member function 'qpid::broker::SessionHandler&
qpid::broker::Connection::getChannel(qpid::framing::ChannelId)':
qpid/broker/Connection.cpp:108: error: invalid initialization of non-const
reference of type 'qpid::broker::SessionHandler&' from a temporary of
type 'boost::ptr_container_detail::ref_pair<short unsigned int,
qpid::broker::SessionHandler* const>'
/usr/include/boost/bind/mem_fn_template.hpp: In member function 'R
boost::_mfi::mf0<R, T>::call(U&, const void*) const [with U = const
boost::ptr_container_detail::ref_pair<short unsigned int,
qpid::broker::SessionHandler* const>, R = void, T =
qpid::broker::SessionHandler]':
/usr/include/boost/bind/mem_fn_template.hpp:61: instantiated from 'R
boost::_mfi::mf0<R, T>::operator()(const U&) const [with U =
boost::ptr_container_detail::ref_pair<short unsigned int,
qpid::broker::SessionHandler* const>, R = void, T =
qpid::broker::SessionHandler]'
/usr/include/boost/bind.hpp:231: instantiated from 'void
boost::_bi::list1<A1>::operator()(boost::_bi::type<void>, F&, A&, int) [with
F = boost::_mfi::mf0<void, qpid::broker::SessionHandler>, A =
boost::_bi::list1<const boost::ptr_container_detail::ref_pair<short unsigned
int, qpid::broker::SessionHandler* const>&>, A1 = boost::arg<1> (*)()]'
/usr/include/boost/bind/bind_template.hpp:47: instantiated from 'typename
boost::_bi::result_traits<R, F>::type boost::_bi::bind_t<R, F, L>::operator()
(const A1&) [with A1 = boost::ptr_container_detail::ref_pair<short unsigned
int, qpid::broker::SessionHandler* const>, R = void, F =
boost::_mfi::mf0<void, qpid::broker::SessionHandler>, L =
boost::_bi::list1<boost::arg<1> (*)()>]'
/usr/include/c++/4.2/bits/stl_algo.h:159: instantiated from '_Function
std::for_each(_InputIterator, _InputIterator, _Function) [with _InputIterator
= boost::ptr_map_iterator<std::_Rb_tree_iterator<std::pair<const short
unsigned int, void*> >, short unsigned int, qpid::broker::SessionHandler*
const>, _Function = boost::_bi::bind_t<void, boost::_mfi::mf0<void,
qpid::broker::SessionHandler>, boost::_bi::list1<boost::arg<1> (*)()> >]'
qpid/broker/Connection.cpp:82: instantiated from here
/usr/include/boost/bind/mem_fn_template.hpp:40: error: no matching function
for call to 'get_pointer(const boost::ptr_container_detail::ref_pair<short
unsigned int, qpid::broker::SessionHandler* const>&)'
/usr/include/boost/bind/mem_fn_template.hpp:40: error: return-statement with a
value, in function returning 'void'
make[3]: *** [qpid/broker/Connection.lo] Error 1
make[3]: Leaving directory `/home/jim/work/src/qpid-trunk/qpid/cpp/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jim/work/src/qpid-trunk/qpid/cpp/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/jim/work/src/qpid-trunk/qpid/cpp/src'
make: *** [all-recursive] Error 1