catkin build 编译失败

Posted

技术标签:

【中文标题】catkin build 编译失败【英文标题】:catkin build fails to compile 【发布时间】:2018-07-02 11:04:50 【问题描述】:

我正在尝试为 ROS 包中的示例教程编译构建文件。以下显示在终端中,

Errors     << catkin_tools_prebuild:cmake /home/comet/mybot_ws/logs/catkin_tools_prebuild/build.cmake.009.log
CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
  execute_process(/home/comet/anaconda3/bin/python
  "/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
  "/opt/ros/kinetic/share/catkin/cmake/../package.xml"
  "/home/comet/mybot_ws/build/catkin_tools_prebuild/catkin/catkin_generated/version/package.cmake")
  returned error code No such file or directory
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:74 (safe_execute_process)
  /opt/ros/kinetic/share/catkin/cmake/all.cmake:151 (_catkin_package_xml)
  /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:4 (find_package)

它似乎正在尝试访问 anaconda3 文件夹中的 python 编译器,但我最近已将其卸载。有什么想法可以修改文件以使其指向 /usr/bin python 吗?任何想法表示赞赏。非常感谢!

【问题讨论】:

最近刚刚解决,我在catkin build之前执行了catkin clean 如果问题被其中一个答案解决,请接受(通过点击文本左侧的复选标记),以便将此问题标记为已解决。 @D.0417 您需要使用rosdep install &lt;pkg-name&gt; 安装该软件包的依赖项或使用apt-get 安装。未定义的包在 CMakeList 第 4 行。 【参考方案1】:

所以你的环境被污染有两种可能

    您的 PATH 变量仍因指向您的 anaconda 位置而受到污染。请参阅 this question 以获取参考并删除 anaconda 条目。不要忘记打开一个新终端以应用更改 在获取 anaconda 环境的同时,您已经创建了本地 catkin 工作区。因此,您只需删除当前工作区中的builddevel,然后从头开始重建所有内容。

依次处理这两个步骤应该可以解决问题。

【讨论】:

【参考方案2】:

最近刚刚解决,我在catkin build之前执行了catkin clean

【讨论】:

我不明白为什么这被否决了。运行catkin clean(相当于删除“build”和“devel”目录)应该始终是当catkin build 出现异常时首先尝试的事情之一。这绝对是一个合法且好的答案。

以上是关于catkin build 编译失败的主要内容,如果未能解决你的问题,请参考以下文章

Catkin Build 的问题

Catkin build 中断后损坏

执行 catkin_make 时出错:调用“make -j1 -l1”失败

CMake 错误:catkin_make :::Running 命令运行命令:“/ws/build”中的“make -j4 -l4”

ROS旋律catkin_make失败

catkin 工作空间