@小鱼 好的,感谢感谢
重要提示
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
2519105850 发布的帖子
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 我从安装foxy开始从头来了一遍,到这个colcon命令这里还是过不去
zhong@ubuntu:~/moveit2/src$ colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release Starting >>> rviz_visual_tools Finished <<< rviz_visual_tools [1.43s] Starting >>> moveit_visual_tools --- stderr: moveit_visual_tools CMake Error at CMakeLists.txt:5 (find_package): By not providing "Findcatkin.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "catkin", but CMake did not find one. Could not find a package configuration file provided by "catkin" with any of the following names: catkinConfig.cmake catkin-config.cmake Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set "catkin_DIR" to a directory containing one of the above files. If "catkin" provides a separate development package or SDK, be sure it has been installed. --- Failed <<< moveit_visual_tools [1.10s, exited with code 1] Summary: 1 package finished [3.01s] 1 package failed: moveit_visual_tools 1 package had stderr output: moveit_visual_tools 1 package not processed
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 您好,我使用
sudo apt-get purge ros-* sudo apt-get autoremove
卸载foxy 和 neotic
为什么打开终端还有提示让我选择呢,是我没卸载干净吗
安装foxy感觉也没成功
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 我选择了foxy这个后那个终端就没有关了,一直接着后面操作的
我再把这个moveit2包删了,运行一步关闭一个终端选择一次foxy,但愿不报错,报错能解决也行
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 我开始使用的是Ubuntu18.04,然后换了20.04,就按照公众号的这篇文章
https://mp.weixin.qq.com/s/yfMKYtRpRF6xF2PjtGSFzg
(应该是一步步执行的)会不会是下载ros2的时候一些包没下上,一些需要的包没配置?我同时下了rosfoxy , noetic,前面由于我打开终端选择的是noetic然后跟着文章执行的时候colcon报了缺少各种包的错;后面我就把moveit2的那个包全删了,打开终端时选择foxy,运行到colcon时显示
[1/2 complete] (我以为这就要成功了,结果显示没 那个tool ) -
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 感觉又和之前那样
src目录下了moveit_visual_tools包后,再运行下面这个代码
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
提示我graph这个包没有,在 https://github.com/PickNikRobotics/graph_msgs.git 上下载包到src目录下再运行 colcon命令
然后提示缺少catkin
--- stderr: graph_msgs CMake Error at CMakeLists.txt:7 (find_package): By not providing "Findcatkin.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "catkin", but CMake did not find one. Could not find a package configuration file provided by "catkin" with any of the following names: catkinConfig.cmake catkin-config.cmake Add the installation prefix of "catkin" to CMAKE_PREFIX_PATH or set "catkin_DIR" to a directory containing one of the above files. If "catkin" provides a separate development package or SDK, be sure it has been installed.
我在 https://index.ros.org/ 搜索 cakin 也没找到foxy下的包,catkin也是ros1的包吧?
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 我现在发现好像是我rosdepc这一步错了导致 colcon错误
rosdepc install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
运行这一步时报了 moveit_visual_tools 相关的错误(之前几次没显示这个错误)
ERROR: the following packages/stacks could not have their rosdepc keys resolved to system dependencies: moveit2_tutorials: Cannot locate rosdep definition for [moveit_visual_tools] Continuing to install resolvable dependencies... #All required rosdeps installed successfully
之前就只有成功那句
另外运行这句指令时,报了这个错误
git reset 59cf8c49bb309e2bb7f06e295f87efa36f8bb506 --hard fatal: 不能解析对象 '59cf8c49bb309e2bb7f06e295f87efa36f8bb506'。
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 确实是我版本号的问题,真是太厉害了!
我运行colon命令,然后提示只要下两个包,下第二个的时候报错了
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
报错内容
CMake Error at CMakeLists.txt:19 (find_package): By not providing "Findmoveit_visual_tools.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "moveit_visual_tools", but CMake did not find one. Could not find a package configuration file provided by "moveit_visual_tools" with any of the following names: moveit_visual_toolsConfig.cmake moveit_visual_tools-config.cmake Add the installation prefix of "moveit_visual_tools" to CMAKE_PREFIX_PATH or set "moveit_visual_tools_DIR" to a directory containing one of the above files. If "moveit_visual_tools" provides a separate development package or SDK, be sure it has been installed. --- Failed <<< moveit2_tutorials [16.1s, exited with code 1] Summary: 1 package finished [1min 24s] 1 package failed: moveit2_tutorials 1 package had stderr output: moveit2_tutorials
是因为我用二进制安装moveit2没成功吗?
运行的这个代码sudo apt install ros-foxy-moveit sudo apt install ros-foxy-joint-state-controller
这是结果(没报错吧)
zhong@ubuntu:~$ sudo apt install ros-foxy-moveit [sudo] zhong 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 ros-foxy-moveit 已经是最新版 (2.2.3-1focal.20220209.173642)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 zhong@ubuntu:~$ sudo apt install ros-foxy-joint-state-controller 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 ros-foxy-joint-state-controller 已经是最新版 (0.7.0-1focal.20220223.161450)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
然后我就在 https://moveit.ros.org/install-moveit2/source/ 上按照步骤运行
运行到下面这一步时报错了,但是我接着运行后面一步没有管它
zhong@ubuntu:~/ws_moveit2/src$ vcs import < moveit2/moveit2.repos Command 'vcs' not found, but there are 15 similar ones.
当运行下面这个命令时,
colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release
报了这个错误
--- stderr: moveit_planners_ompl c++: fatal error: 已杀死 signal terminated program cc1plus compilation terminated. make[2]: *** [ompl_interface/CMakeFiles/moveit_ompl_interface.dir/build.make:284:ompl_interface/CMakeFiles/moveit_ompl_interface.dir/src/detail/constrained_sampler.cpp.o] 错误 1 make[1]: *** [CMakeFiles/Makefile2:187:ompl_interface/CMakeFiles/moveit_ompl_interface.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2 --- Failed <<< moveit_planners_ompl [6min 9s, exited with code 2] Aborted <<< moveit_ros_move_group [5min 26s] Summary: 14 packages finished [8min 33s] 1 package failed: moveit_planners_ompl 1 package aborted: moveit_ros_move_group 1 package had stderr output: moveit_planners_ompl 10 packages not processed
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 好的,不好意思添麻烦了,下面这个格式是较正确的吗?
运行colcon命令报错提示缺少cpp_common
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
CMake Warning (dev) at CMakeLists.txt:2 (project): Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning. The following variable(s) would be set to empty: CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR CMAKE_PROJECT_VERSION_PATCH This warning is for project developers. Use -Wno-dev to suppress it. CMake Error at /home/zhong/moveit2/install/message_runtime/share/message_runtime/cmake/message_runtimeConfig.cmake:197 (find_package): Could not find a package configuration file provided by "cpp_common" with any of the following names: cpp_commonConfig.cmake cpp_common-config.cmake Add the installation prefix of "cpp_common" to CMAKE_PREFIX_PATH or set "cpp_common_DIR" to a directory containing one of the above files. If "cpp_common" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): /home/zhong/moveit2/install/std_msgs/share/std_msgs/cmake/std_msgsConfig.cmake:197 (find_package) /home/zhong/moveit2/install/catkin/share/catkin/cmake/catkinConfig.cmake:76 (find_package) CMakeLists.txt:3 (find_package) Failed <<< test_msgs [0.54s, exited with code 1] Summary: 35 packages finished [8.20s] 1 package failed: test_msgs 1 package had stderr output: test_msgs 6 packages not processed
我在https://github.com/chronoxor/CppCommon上 下载cpp_common这个包到moveit2这个文件夹里,然后报了下面这个错误:
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time. If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur. If you understand the risks and want to override a package anyways, add the following to the command line: --allow-overriding ament_cmake ament_cmake_auto ament_cmake_core ament_cmake_gmock ament_cmake_gtest ament_cmake_pytest ament_cmake_ros ament_cmake_test rclcpp rclcpp_action rclcpp_components rclcpp_lifecycle std_msgs test_msgs This may be promoted to an error in a future release of colcon-override-check. Starting >>> ament_package Starting >>> catkin Starting >>> domain_coordinator Starting >>> cppcommon --- stderr: cppcommon CMake Error: The source "/home/zhong/moveit2/CppCommon/CMakeLists.txt" does not match the source "/home/zhong/moveit2/CppCommon-master/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory. Failed <<< cppcommon [0.64s, exited with code 1] Aborted <<< catkin [0.70s] Aborted <<< domain_coordinator [1.32s] Aborted <<< ament_package [1.40s] Summary: 0 packages finished [2.08s] 1 package failed: cppcommon 3 packages aborted: ament_package catkin domain_coordinator 1 package had stderr output: cppcommon 39 packages not processed
运行colcon命令后直接就中断结束了,请问这个该怎样解决呢?
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 您好,在头一次运行colcon报错提示缺少cpp_common
CMake Warning (dev) at CMakeLists.txt:2 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.The following variable(s) would be set to empty:
CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at /home/zhong/moveit2/install/message_runtime/share/message_runtime/cmake/message_runtimeConfig.cmake:197 (find_package):
Could not find a package configuration file provided by "cpp_common" with
any of the following names:cpp_commonConfig.cmake cpp_common-config.cmake
Add the installation prefix of "cpp_common" to CMAKE_PREFIX_PATH or set
"cpp_common_DIR" to a directory containing one of the above files. If
"cpp_common" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
/home/zhong/moveit2/install/std_msgs/share/std_msgs/cmake/std_msgsConfig.cmake:197 (find_package)
/home/zhong/moveit2/install/catkin/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
CMakeLists.txt:3 (find_package)
Failed <<< test_msgs [0.54s, exited with code 1]
Summary: 35 packages finished [8.20s]
1 package failed: test_msgs
1 package had stderr output: test_msgs
6 packages not processed我在https://github.com/chronoxor/CppCommon上下载这个包到moveit2这个文件夹里,然后又报这个错误
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding ament_cmake ament_cmake_auto ament_cmake_core ament_cmake_gmock ament_cmake_gtest ament_cmake_pytest ament_cmake_ros ament_cmake_test rclcpp rclcpp_action rclcpp_components rclcpp_lifecycle std_msgs test_msgsThis may be promoted to an error in a future release of colcon-override-check.
Starting >>> ament_package
Starting >>> catkin
Starting >>> domain_coordinator
Starting >>> cppcommon
--- stderr: cppcommon
CMake Error: The source "/home/zhong/moveit2/CppCommon/CMakeLists.txt" does not match the source "/home/zhong/moveit2/CppCommon-master/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.Failed <<< cppcommon [0.64s, exited with code 1]
Aborted <<< catkin [0.70s]
Aborted <<< domain_coordinator [1.32s]
Aborted <<< ament_package [1.40s]Summary: 0 packages finished [2.08s]
1 package failed: cppcommon
3 packages aborted: ament_package catkin domain_coordinator
1 package had stderr output: cppcommon
39 packages not processed运行colcon后直接就中断结束了,这个该怎样处理呢?
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼
非常感谢您!!那就是我按照报错在这个功能包在线索引网站上搜相关包,然后安装在moveit2目录下就可以了吧
另外我也想确认下想要实现您写的这篇公众号通过键盘控制机械臂的运动是用Ubuntu20.04 /ros2 foxy吗
公众号推送链接: 链接文本
-
RE: ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
@小鱼 rosdep install 没成功啊,后面是要跟包名吗
zhong@ubuntu:~$ rosdep install
Usage: rosdepc [options] <command> <args>Commands:
rosdepc check <stacks-and-packages>...
check if the dependencies of package(s) have been met.rosdepc install <stacks-and-packages>...
download and install the dependencies of a given package or packages.rosdepc db
generate the dependency database and print it to the console.rosdepc init
initialize rosdepc sources in /etc/ros/rosdep. May require sudo.rosdepc keys <stacks-and-packages>...
list the rosdepc keys that the packages depend on.rosdepc resolve <rosdeps>
resolve <rosdeps> to system dependenciesrosdepc update
update the local rosdep database based on the rosdep sources.rosdepc what-needs <rosdeps>...
print a list of packages that declare a rosdep on (at least
one of) <rosdeps>rosdepc where-defined <rosdeps>...
print a list of yaml files that declare a rosdep on (at least
one of) <rosdeps>rosdepc fix-permissions
Recursively change the permissions of the user's ros home directory.
May require sudo. Can be useful to fix permissions after calling
"rosdepc update" with sudo accidentally.rosdepc: error: no packages or stacks specified
然后我试了试rosdep install cpp_common
报这个错误zhong@ubuntu:~$ rosdepc install cpp_commonERROR: rosdepc cannot find all required resources to answer your query
Missing resource cpp_common会注意格式的
-
ros2使用colcon编译时,总是报错提示缺少一个包,安装完一个后还有另一个
在执行下列命令时
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
出现以下报错
CMake Error at /home/zhong/moveit2/install/message_generation/share/message_generation/cmake/message_generationConfig.cmake:197 (find_package):
Could not find a package configuration file provided by "genpy" with any of
the following names:genpyConfig.cmake genpy-config.cmake
Add the installation prefix of "genpy" to CMAKE_PREFIX_PATH or set
"genpy_DIR" to a directory containing one of the above files. If "genpy"
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
/home/zhong/moveit2/install/catkin/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
CMakeLists.txt:4 (find_package)
Failed <<< std_msgs [1.85s, exited with code 1]
Summary: 32 packages finished [27.7s]
1 package failed: std_msgs
1 package had stderr output: std_msgs
7 packages not processed在git上下载包genpy后,又显示缺少包
CMake Error at /home/zhong/moveit2/install/std_msgs/share/std_msgs/cmake/std_msgsConfig.cmake:197 (find_package):
Could not find a package configuration file provided by "message_runtime"
with any of the following names:message_runtimeConfig.cmake message_runtime-config.cmake
Add the installation prefix of "message_runtime" to CMAKE_PREFIX_PATH or
set "message_runtime_DIR" to a directory containing one of the above files.
If "message_runtime" provides a separate development package or SDK, be
sure it has been installed.
Call Stack (most recent call first):
/home/zhong/moveit2/install/catkin/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
CMakeLists.txt:3 (find_package)
Failed <<< test_msgs [1.97s, exited with code 1]
Summary: 34 packages finished [55.3s]
1 package failed: test_msgs
1 package had stderr output: test_msgs
6 packages not processed下了一个包后,显示缺少另一个包
CMake Warning (dev) at CMakeLists.txt:2 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.The following variable(s) would be set to empty:
CMAKE_PROJECT_VERSION CMAKE_PROJECT_VERSION_MAJOR CMAKE_PROJECT_VERSION_MINOR CMAKE_PROJECT_VERSION_PATCH
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at /home/zhong/moveit2/install/message_runtime/share/message_runtime/cmake/message_runtimeConfig.cmake:197 (find_package):
Could not find a package configuration file provided by "cpp_common" with
any of the following names:cpp_commonConfig.cmake cpp_common-config.cmake
Add the installation prefix of "cpp_common" to CMAKE_PREFIX_PATH or set
"cpp_common_DIR" to a directory containing one of the above files. If
"cpp_common" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
/home/zhong/moveit2/install/std_msgs/share/std_msgs/cmake/std_msgsConfig.cmake:197 (find_package)
/home/zhong/moveit2/install/catkin/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
CMakeLists.txt:3 (find_package)
Failed <<< test_msgs [2.14s, exited with code 1]
Summary: 35 packages finished [30.6s]
1 package failed: test_msgs
1 package had stderr output: test_msgs
6 packages not processed这次下载cppcommon后显示 cmake版本低
第一次运行colcon时,显示[0/ 24 complete]就中断了,随着下了一些包就变成了[34/41 complete]时中断
原文链接:链接文本