Closed jwhendy closed 4 years ago
Is there a definitive way to find all the packages that rely on boost? pacman -Qi boost
is not sufficient as a ton of ros packages get built on others which depend on boost as a makedepends. I'm finding this maddening, as the errors will say some package can't find it, but rebuilding that package isn't sufficient as it appears it doesn't check it's dependency links or something?
It's not clear how I figure out all packages now pointing to a nonexistent boost 1.69 .so file... any suggestions?
Updated post and changed the title. I'm unable to build.
Seems like actual errors here:
In file included from /home/jwhendy/installed/build/ros-melodic-aur/ros-melodic-ompl/src/ompl-release-upstream-1.4.2/demos/PlannerData.cpp:45:
/usr/include/boost/graph/astar_search.hpp: In instantiation of ‘void boost::astar_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, AStarHeuristic, const boost::bgl_named_params<P, T, R>&) [with VertexListGraph = boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, boost::property<vertex_type_t, ompl::base::PlannerDataVertex*, boost::property<boost::vertex_index_t, unsigned int> >, boost::property<edge_type_t, ompl::base::PlannerDataEdge*, boost::property<boost::edge_weight_t, ompl::base::Cost> > >; AStarHeuristic = readPlannerData()::<lambda(ompl::base::PlannerData::Graph::Vertex)>; P = ompl::base::Cost; T = boost::distance_zero_t; R = boost::bgl_named_params<ompl::base::Cost, boost::distance_inf_t, boost::bgl_named_params<readPlannerData()::<lambda(ompl::base::Cost, ompl::base::Cost)>, boost::distance_combine_t, boost::bgl_named_params<readPlannerData()::<lambda(ompl::base::Cost, ompl::base::Cost)>, boost::distance_compare_t, boost::bgl_named_params<boost::vector_property_map<long unsigned int>, boost::vertex_predecessor_t, boost::no_property> > > >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]’:
/home/jwhendy/installed/build/ros-melodic-aur/ros-melodic-ompl/src/ompl-release-upstream-1.4.2/demos/PlannerData.cpp:179:46: required from here
/usr/include/boost/graph/astar_search.hpp:449:13: error: invalid initialization of reference of type ‘boost::parameter::binding<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::distance_zero, const ompl::base::Cost>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::distance_inf, const ompl::base::Cost>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::distance_combine, const readPlannerData()::<lambda(ompl::base::Cost, ompl::base::Cost)> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::distance_compare, const readPlannerData()::<lambda(ompl::base::Cost, ompl::base::Cost)> >, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::graph::keywords::tag::predecessor_map, const boost::vector_property_map<long unsigned int> >, boost::parameter::aux::empty_arg_list, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >, std::integral_constant<bool, true> >, boost::graph::keywords::tag::visitor, boost::dummy_property_map&>::type’ {aka ‘boost::dummy_property_map&’} from expression of type ‘boost::astar_visitor<>’
449 | >::type vis = arg_pack[_visitor | default_visitor];
| ^~~
/usr/include/boost/graph/astar_search.hpp: At global scope:
/usr/include/boost/graph/astar_search.hpp:353:3: error: ‘void boost::astar_search(const VertexListGraph&, typename boost::graph_traits<Graph>::vertex_descriptor, AStarHeuristic, AStarVisitor, PredecessorMap, CostMap, DistanceMap, WeightMap, VertexIndexMap, ColorMap, CompareFunction, CombineFunction, CostInf, CostZero) [with VertexListGraph = boost::adjacency_list<boost::vecS, boost::vecS, boost::bidirectionalS, boost::property<vertex_type_t, ompl::base::PlannerDataVertex*, boost::property<boost::vertex_index_t, unsigned int> >, boost::property<edge_type_t, ompl::base::PlannerDataEdge*, boost::property<boost::edge_weight_t, ompl::base::Cost> > >; AStarHeuristic = readPlannerData()::<lambda(ompl::base::PlannerData::Graph::Vertex)>; AStarVisitor = boost::dummy_property_map; PredecessorMap = boost::vector_property_map<long unsigned int>; CostMap = boost::shared_array_property_map<ompl::base::Cost, boost::vec_adj_list_vertex_id_map<boost::property<vertex_type_t, ompl::base::PlannerDataVertex*, boost::property<boost::vertex_index_t, unsigned int> >, long unsigned int> >; DistanceMap = boost::shared_array_property_map<ompl::base::Cost, boost::vec_adj_list_vertex_id_map<boost::property<vertex_type_t, ompl::base::PlannerDataVertex*, boost::property<boost::vertex_index_t, unsigned int> >, long unsigned int> >; WeightMap = boost::adj_list_edge_property_map<boost::bidirectional_tag, ompl::base::Cost, const ompl::base::Cost&, long unsigned int, const boost::property<edge_type_t, ompl::base::PlannerDataEdge*, boost::property<boost::edge_weight_t, ompl::base::Cost> >, boost::edge_weight_t>; VertexIndexMap = boost::vec_adj_list_vertex_id_map<boost::property<vertex_type_t, ompl::base::PlannerDataVertex*, boost::property<boost::vertex_index_t, unsigned int> >, long unsigned int>; ColorMap = boost::shared_array_property_map<boost::default_color_type, boost::vec_adj_list_vertex_id_map<boost::property<vertex_type_t, ompl::base::PlannerDataVertex*, boost::property<boost::vertex_index_t, unsigned int> >, long unsigned int> >; CompareFunction = readPlannerData()::<lambda(ompl::base::Cost, ompl::base::Cost)>; CombineFunction = readPlannerData()::<lambda(ompl::base::Cost, ompl::base::Cost)>; CostInf = ompl::base::Cost; CostZero = ompl::base::Cost; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]’, declared using local type ‘readPlannerData()::<lambda(ompl::base::PlannerData::Graph::Vertex)>’, is used but never defined [-fpermissive]
353 | astar_search
| ^~~~~~~~~~~~
Something related to astar_search
??
Making a git
version built from here worked. It also worked to clone that and build in my catkin_ws
directly and just make a fake package that provided ros-melodic-ompl
. With that the rest of ros-melodic-moveit
built for me.
I noticed that at the repo linked above, the latest release is still 1.4.1 vs. being 1.4.2 in other places. I'm not sure if that means anything related to version causing my issue or not.
Notes from continued troubleshooting:
I'm now suspecting it's something between 1.4.1 and present that fixes this. Likely it's also post-1.4.2, but the github site doesn't have that and the commit messages/hashes don't seem to correlate. I'm working my way through commits to figure out where it starts working.
Duh. Of course it would be related to boost-1.71
. I traced things to this commit. I made an upstream request for a release including this fix, and in the meantime I'll try a patch with that change.
I think #3 will address all of this if anyone can reproduce. We can close once upstream releases.
Relevant PR merged adding patched label
Gonna remove patched label, since this is a package that ROS does not even ship.
Closing this issue, in lieu of that.
I updated this, as I'm not sure if it's boost related or not. I updated the source to ompl upstream and to python3, but I still can't build it.
Beginning of build (looks fine):
I see no obvious errors in the output. There's also a lot of output so it's hard to tell warnings from errors. Here's the tail end of my output before the failure which I don't think is the actual reason, but still pasting just in case.