Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error catkin_make #2

Closed
ziyangli opened this issue Jul 11, 2014 · 2 comments
Closed

Error catkin_make #2

ziyangli opened this issue Jul 11, 2014 · 2 comments

Comments

@ziyangli
Copy link

I am using Hydro in Ubuntu12.04. When I try to make the pkg I come across the following error. I guess it is because the codes make use of deleted function boost::weak_ptr

/usr/include/c++/4.8/bits/stl_vector.h:920:36: required from ‘void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = boost::variantboost::weak_ptr<void, boost::signals2::detail::foreign_void_weak_ptr>; Alloc = std::allocatorboost::variant<boost::weak_ptr<void, boost::signals2::detail::foreign_void_weak_ptr> >; std::vector<Tp, Alloc>::value_type = boost::variantboost::weak_ptr<void, boost::signals2::detail::foreign_void_weak_ptr>]’
/usr/include/boost/signals2/slot_base.hpp:93:55: required from here
/usr/include/boost/variant/variant.hpp:401:9: error: use of deleted function ‘boost::weak_ptr::weak_ptr(const boost::weak_ptr&)’
new(storage
) T( operand.get() );
^
In file included from /usr/include/boost/variant/variant.hpp:31:0,
from /usr/include/boost/signals2/slot_base.hpp:23,
from /usr/include/boost/signals2/detail/tracked_objects_visitor.hpp:18,
from /usr/include/boost/signals2/slot.hpp:22,
from /usr/include/boost/signals2/connection.hpp:23,
from /usr/include/boost/signals2/signal.hpp:21,
from /usr/include/boost/signals2.hpp:19,
from /usr/include/pcl-1.7/pcl/io/boost.h:73,
from /usr/include/pcl-1.7/pcl/io/file_io.h:43,
from /usr/include/pcl-1.7/pcl/io/pcd_io.h:44,
from /opt/ros/hydro/include/pcl_conversions/pcl_conversions.h:69,
from /opt/ros/hydro/include/pcl_ros/point_cloud.h:9,
from /home/zli-dji/ros/catkin_ws/build/rgbdslam/src/../../../src/rgbdslam/src/parameter_server.h:30,
from /home/zli-dji/ros/catkin_ws/build/rgbdslam/src/../../../src/rgbdslam/src/node.h:39,
from /home/zli-dji/ros/catkin_ws/build/rgbdslam/src/../../../src/rgbdslam/src/graph_manager.h:30,
from /home/zli-dji/ros/catkin_ws/build/rgbdslam/src/../../../src/rgbdslam/src/openni_listener.h:30,
from /home/zli-dji/ros/catkin_ws/build/rgbdslam/src/moc_openni_listener.cxx:10:
/usr/include/boost/variant/detail/initializer.hpp: In instantiation of ‘static int boost::detail::variant::make_initializer_node::apply<BaseIndexPair, Iterator>::initializer_node::initialize(void*, boost::detail::variant::make_initializer_node::apply<BaseIndexPair, Iterator>::initializer_node::param_T) [with BaseIndexPair = boost::mpl::pair<boost::detail::variant::initializer_root, mpl
::int
<0> >; Iterator = boost::mpl::l_iterboost::mpl::list2<boost::shared_ptr<void, boost::signals2::detail::foreign_void_shared_ptr> >; boost::detail::variant::make_initializer_node::apply<BaseIndexPair, Iterator>::initializer_node::param_T = const boost::shared_ptr&]’:

@felixendres
Copy link
Owner

Interesting, I don't have this issue (also on Ubuntu 12.04). Is weak_ptr removed from boost because of the new C++0X standard?

@niosus
Copy link

niosus commented Aug 5, 2014

@ziyangli I have bumped in the same issue. Here is what you are looking for. It states, that older versions of Boost (before 1.53) play badly with c++0x (c++11). The problem is a bug in Boost code, that implies, that if the move constructor is defined, the copy constructor would anyway be implicitly created. This is not the case for c++11.

It also only occurs with GNU compiler versions higher than 4.6 (with which standard Ubuntu 12.04 is shipped)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants