ros编译使用catkin_make报错

文章描述了在ROSNoetic环境中初次编译时遇到的CMake警告,涉及find_package政策更改和PY_em模块查找失败。解决办法是使用特定的Python执行路径进行catkin_make编译。
部署运行你感兴趣的模型镜像

第一次编译时出现以下错误

CMake Warning (dev) at /opt/ros/noetic/share/catkin/cmake/python.cmake:4 (find_package):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  /opt/ros/noetic/share/catkin/cmake/all.cmake:164 (include)
  /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:58 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Using PYTHON_EXECUTABLE: /home/liyi/anaconda3/bin/python3
-- Using Debian Python package layout
-- Could NOT find PY_em (missing: PY_EM) 
CMake Error at /opt/ros/noetic/share/catkin/cmake/empy.cmake:30 (message):
  Unable to find either executable 'empy' or Python module 'em'...  try
  installing the package 'python3-empy'
Call Stack (most recent call first):
  /opt/ros/noetic/share/catkin/cmake/all.cmake:164 (include)
  /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:58 (find_package)

-- Configuring incomplete, errors occurred!
Invoking "cmake" failed


解决方法:

使用:catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3   命令进行编译

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

使用 `catkin_make` 编译 ROS 项目时,可能会遇到多种编译错误。以下是一些常见的问题及其解决方案: ### 1. CMake 命令未找到 如果在运行 `catkin_make` 时出现如下错误: ``` make: /home/nvidia/.local/lib/python3.8/site-packages/cmake/data/bin/cmake: Command not found make: *** [Makefile:2144: cmake_check_build_system] Error 127 Invoking "make cmake_check_build_system" failed ``` 这通常表示系统中缺少 CMake 或者 CMake 的路径配置不正确。可以尝试以下步骤解决该问题: - **安装 CMake**:确保 CMake 已经正确安装在系统中。可以通过以下命令安装: ```bash sudo apt-get install cmake ``` - **检查 CMake 路径**:确认 CMake 的可执行文件路径是否已添加到系统的环境变量中。可以通过以下命令查看 CMake 的安装路径: ```bash which cmake ``` 如果返回的路径为空,则需要手动将 CMake 的路径添加到环境变量中。 - **更新 Python 包**:如果 CMake 是通过 Python 包安装的(例如通过 pip),则可能需要更新或重新安装 CMake 包: ```bash pip install --upgrade cmake ``` ### 2. 检查 ROS 工作空间 确保 ROS 工作空间的结构是正确的,并且所有必要的文件都存在。特别是要检查 `CMakeLists.txt` 文件是否存在并且格式正确。此外,确保工作空间中的 `src` 目录包含所有必要的 ROS 包。 ### 3. 安装依赖项 有时编译失败是因为缺少某些依赖包。可以使用以下命令安装缺失的依赖项: ```bash rosdep install --from-paths src --ignore-src -r -y ``` ### 4. 用户权限问题 如果由于用户权限不足导致无法生成目标文件,可以尝试更改项目目录的所有权和权限: ```bash sudo chown -R username 项目目录 sudo chmod -R +x 项目目录 ``` ### 5. 清理并重新编译 如果以上方法都无法解决问题,可以尝试清理工作空间并重新编译: ```bash cd ~/catkin_ws rm -rf build devel catkin_make ``` ### 6. 解决库冲突问题 如果遇到类似 Rviz 段错误的问题,可能是由于某些库版本冲突导致的。可以尝试删除 `/usr/local` 下的相关库文件并刷新动态链接库缓存: ```bash # 删除头文件 sudo rm -rf /usr/local/include/yaml* # 删除库文件 sudo rm -rf /usr/local/lib/libyaml* # 删除 pkgconfig 文件 sudo rm -rf /usr/local/lib/pkgconfig/yaml* # 删除 CMake 文件 sudo rm -rf /usr/local/lib/cmake/yaml* # 删除文档和其他文件 sudo rm -rf /usr/local/share/doc/yaml* # 刷新动态链接库缓存 sudo ldconfig ``` ### 7. 环境变量配置 确保 ROS 的环境变量已经正确设置。可以在终端中运行以下命令来配置环境变量: ```bash source /opt/ros/noetic/setup.bash source ~/catkin_ws/devel/setup.bash ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值