xing@asus:~/gridmap_dep$ colcon build –symlink-install –packages-up-to pcl_ros

Package ‘pcl_ros’ specified with –packages-up-to was not found

pcl_ros找不到

Cannot locate rosdep definition for

xing@asus:~/gridmap_dep$ rosdep install -y –ignore-src –from-paths src

ERROR: the following packages/stacks could not have their rosdep keys resolved

to system dependencies:

nav2_mppi_controller: Cannot locate rosdep definition for [xsimd]

这个问题是因为rosdep无法找到对应的键值对,也就是无法找到xsimd

初步猜测是因为xsimd没有添加到ros的工作空间中

ROS依赖包安装问题/XXXXX:Cannot locate rosdep definition for [XXX]_cannot locate rosdep definition for [ur_driver]_liyuanjunfrank的博客-CSDN博客ROS依赖包安装问题/XXXXX:Cannot locate rosdep definition for [XXX]_cannot locate rosdep definition for [ur_driver]_liyuanjunfrank的博客-CSDN博客

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

/opt/ros/foxy/include/rclcpp/parameter_value.hpp:319:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<double>&>::value, const std::vector<double>&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/xing/gridmap_dep/src/pcl_ros/src/pcl_ros/filters/project_inliers.cpp:46:75: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:319:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<double>&>’
/opt/ros/foxy/include/rclcpp/node_impl.hpp: In instantiation of ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’:
/home/xing/gridmap_dep/src/pcl_ros/src/pcl_ros/filters/project_inliers.cpp:46:75: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:329:3: note: candidate: ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<std::__cxx11::basic_string<char> >&>::value, const std::vector<std::__cxx11::basic_string<char> >&>::type rclcpp::ParameterValue::get() const’
329 | get() const
| ^~~
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:329:3: note: template argument deduction/substitution failed:
/opt/ros/foxy/include/rclcpp/parameter_value.hpp: In substitution of ‘template<class type> constexpr typename std::enable_if<std::is_convertible<type, const std::vector<std::__cxx11::basic_string<char> >&>::value, const std::vector<std::__cxx11::basic_string<char> >&>::type rclcpp::ParameterValue::get() const [with type = rclcpp::ParameterType]’:
/opt/ros/foxy/include/rclcpp/node_impl.hpp:169:23: required from ‘auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool) [with ParameterT = rclcpp::ParameterType; std::string = std::__cxx11::basic_string<char>; rcl_interfaces::msg::ParameterDescriptor = rcl_interfaces::msg::ParameterDescriptor_<std::allocator<void> >]’
/home/xing/gridmap_dep/src/pcl_ros/src/pcl_ros/filters/project_inliers.cpp:46:75: required from here
/opt/ros/foxy/include/rclcpp/parameter_value.hpp:329:3: error: no type named ‘type’ in ‘struct std::enable_if<false, const std::vector<std::__cxx11::basic_string<char> >&>’
make[2]: *** [CMakeFiles/pcd_to_pointcloud_lib.dir/build.make:63:CMakeFiles/pcd_to_pointcloud_lib.dir/tools/pcd_to_pointcloud.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:442:CMakeFiles/pcd_to_pointcloud_lib.dir/all] 错误 2
make[1]: *** 正在等待未完成的任务....
make[2]: *** [CMakeFiles/pcl_ros_filters.dir/build.make:102:CMakeFiles/pcl_ros_filters.dir/src/pcl_ros/filters/project_inliers.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:253:CMakeFiles/pcl_ros_filters.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
---
Failed <<< pcl_ros [7.61s, exited with code 2]

Summary: 1 package finished [9.17s]
1 package failed: pcl_ros
1 package had stderr output: pcl_ros

安装教程

https://github.com/tup-robomaster/TUP2023-Sentry-Nav/tree/49dae7198ad7bdc4fe6bfbe44deb4c0e2e115cd5/grid_map#grid-map

1
2
3
4
5
6
7
8
sudo apt-get install libeigen3-dev
source /opt/ros/foxy/setup.bash
mkdir -p ~/gridmap_dep/src
cd ~/gridmap_dep
wget https://raw.githubusercontent.com/ANYbotics/grid_map/ros2/tools/ros2_dependencies.repos
vcs import src < ros2_dependencies.repos
rosdep install -y --ignore-src --from-paths src
colcon build --symlink-install --packages-up-to pcl_ros

安装出现很多奇怪的问题

首先是

1
2
rosdep install -y --ignore-src --from-paths src

这一步出现找不到xsimd的问题

后来就添加一个标签-r

忽略xsimd继续查找相关依赖

然后是编译过程中,出现了一些适配性的问题,比如一些头文件,我本地的后缀是h,而这个工程文件中是hpp,

还有一些

gitclone中出现

X11 forwarding request failed on channel 0