我一直试图创建一个UNBUNTU22.04 ROS2 Humble工作区,但是我无法解决这两个命令找不到的错误。试图重新安装catkin软件包也没有多大帮助。我认为catkin和catkin工具可能已经安装好了。我以为这可能是一个搜索路径问题,但不确定。如下面的代码所示,setup.bash由.bashrc调用以准备Env变量。我不明白命令没有找到错误,但我需要解决它们。如果可以的话请协助我。
/home/..bashrc{此文件(.bashrc)被编辑,因此它包含了下面的行
源代码/opt/ros/ file / setup.bash {不按用户对setup.bash文件进行编辑)
$ cd ~/catkin_ws
~/catkin_ws$ catkin_init_workspace
Command 'catkin_init_workspace' not found, but can be installed with:
sudo apt install catkin~/ catkin _ws$ sudo应安装catkin
[sudo] password for kennr:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
python3-catkin-pkg : Conflicts: catkin but 0.8.10-7 is to be installed
python3-catkin-pkg-modules : Conflicts: catkin but 0.8.10-7 is to be installed
E: Unable to correct problems, you have held broken packages.~/catkin_ws$ catkin_make
Command 'catkin_make' not found, but can be installed with:
sudo apt install catkin~/ catkin _ws$ catkin-版本
catkin_tools 0.8.5 (C) 2014-2022 Open Source Robotics Foundation
catkin_tools is released under the Apache License, Version 2.0
(https://www.apache.org/licenses/LICENSE-2.0)
---
Using Python 3.10.4 (main, Apr 2 2022, 09:04:19) [GCC 11.2.0]发布于 2022-06-09 17:08:21
我看不出很快就能解决这个catkin包混乱的问题,我需要继续进行其他编程项目。我当然接受评论和解决这个卡特金包的混乱,但我已经发现了一个可能的工作。简单地说,我没有使用$ catkin_init_workspace (宏)和$ catkin_make (宏),而是使用$ cd ~/ catkin _ws、$ catkin _I和$catkin构建。请查阅以下类似帖子的网址链接:
https://robotics.stackexchange.com/questions/16604/ros-catkin-make-vs-catkin-build
再次,我将偶尔回来,阅读和回应任何评论和解决方案张贴在这里。感谢所有想要帮忙的人。
发布于 2022-06-10 18:18:32
令人难以置信的是,尽管看起来这个catkin包安装很容易修复。CATKIN_INIT_WORKSPACE、CATKIN_CREATE_PACKAGE、CATKIN_MAKE实际上是三个宏。而'catkin init','catkin创建pkg','catkin构建‘是三个编译命令。我的系统上的宏被“找不到”,建议重新安装catkin包(而重新安装会产生一个坏包错误)。虽然错误可能是真实的,但它们的错误类型(描述)并不准确。在我的机器上,当~/catkin_ws目录被完全删除(删除)后,这些错误完全消失,然后返回到~/catkin_ws/src裸骨(空的,文件绝对为零)。在这一点上,所有三个宏都被找到并可以使用。因此,重新安装catkin软件包是不必要的,也是不适当的。在基本目录工作区上运行这三个宏,就不会产生任何错误。再次删除工作区目录并重新创建它,使三个编译好的catkin命令能够在零错误的情况下工作。所以,在我的机器上,这两种方法都起作用,只是不能混合在一起。在其他论坛文章和我在这里的文章中,有人提到使用宏和编译的catkin命令的混合会导致现在臭名昭著的宏找不到错误。它可能还会导致其他文件系统错误。这就是为什么。这三个宏和三个编译好的catkin命令都创建了它们自己的单独(不平等)目录子结构和文件元素(在~/catkin_ws中和下面)。这三个宏和三个编译好的catkin命令互不兼容。如果混合使用宏(也可能是编译的catkin命令),就会感觉到不兼容的目录和文件子结构,并开始抛出错误。这就是为什么从一个赤裸的骨头重新开始~/catkin_ws/src修复了这个问题。用户必须只选择一种catkin工作区安装方法,而不是同时选择两者。今天,据我所知,我的catkin装置没有什么问题。
发布于 2022-06-13 20:55:20
在进行了一些额外的研究之后,我了解到以下$ catkin_make宏(及其合作伙伴)是从早期开始的,并打算用于更早的ROS1。而$ catkin构建(以及它的合作伙伴)则更接近今天,并打算用于晚期ROS1和早期ROS2。即将发布的ament_make (及其合作伙伴)还没有经过我的测试,但它似乎是构建迁移中的下一个构建工具,旨在为以后的ROS2开发。因为我的ROS系统是早期的ROS2,所以我最好使用$ catkin构建。事实上,情况就是这样。$ catkin每次都在我的ROS2上完美地构建函数,但是$ catkin_make在我的ROS2上一直存在问题。这两个工作区不兼容构建,很可能要迁移它,必须手动移动源并进行重新构建。还不清楚为什么ros-谦虚桌面包默认(自动)安装$ catkin_make实用程序集(而不是catkin-tools包)。也许不应该。
经过进一步的研究,对于最新的ROS2系统,最好使用"$ colcon“实用程序来构建工作区。即使是太老了也是"$ catkin build“。
https://askubuntu.com/questions/1413097
复制相似问题