小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
colcon build 后报错一大堆软件包的路径重复定义
-
版本信息:
Ubuntu 20.04 ROS2 2020 foxy
错误描述:
colcon build 后,报一大堆关于软件包路径的错,但编译完的也能跑,具体如下:[4.310s] ERROR:colcon.colcon_core.extension_point:Entry point 'colcon_core.shell.bat' is declared multiple times, 'colcon_core.shell.bat:BatShell' overwriting 'colcon_core.shell.bat:BatShell' [4.310s] ERROR:colcon.colcon_core.extension_point:Entry point 'colcon_core.shell.dsv' is declared multiple times, 'colcon_core.shell.dsv:DsvShell' overwriting 'colcon_core.shell.dsv:DsvShell' [4.310s] ERROR:colcon.colcon_core.extension_point:Entry point 'colcon_core.shell.sh' is declared multiple times, 'colcon_core.shell.sh:ShShell' overwriting 'colcon_core.shell.sh:ShShell'
这样的报错几百个,大同小异
原因可能分析:
这个问题出现在我更新软件包Mesa 3D graphics library后出现的
更新时具体操作为:sudo add-apt-repository ppa:ubuntu-x-swat/updates sudo apt-get update sudo apt-get dist-upgrade glxinfo | grep "OpenGL version"
感激回复
-
-
@2681126835 以下回答来自chatgpt
根据您提供的信息,看起来这些错误是由于colcon构建系统的插件/扩展点出现重复声明引起的。尽管这些错误出现了,但您仍然能够成功编译并运行软件包,这表明这些错误可能不会导致严重问题。然而,为了消除这些错误消息,您可以尝试以下方法:
- 清除构建目录并重新构建:
首先,尝试清除之前的构建目录,然后重新运行
colcon build
。这可能会解决重复声明插件的问题。运行以下命令:colcon clean colcon build
- 检查环境变量:
确保您的ROS 2环境变量设置正确。有时,环境变量可能会导致插件重复声明的问题。检查您的
.bashrc
或.zshrc
文件以确保没有重复的ROS 2相关环境变量设置。- 检查安装的软件包:
确保您的软件包安装没有发生冲突。特别是,在更新Mesa 3D graphics library之后,可能会导致一些库或插件发生变化。您可以考虑重新安装ROS 2和相关软件包,以确保它们与您的系统兼容。
- 更新ROS 2版本:
您正在使用的ROS 2版本为"foxy",而您的系统是Ubuntu 20.04。您可以尝试更新ROS 2到更新的版本,以确保与您的系统兼容。在新版本中,可能已经修复了一些插件重复声明的问题。
请注意,不同的ROS 2版本可能会有不同的兼容性和问题,因此升级前应该小心备份和测试您的软件包。
最后,如果上述方法都没有解决问题,您可以尝试联系ROS 2社区或相关软件包的维护者以获取更多支持。
-
我在执行了
sudo apt remove python3-colcon-common-extensions
和
sudo apt remove python3-colcon-core
命令后,
可以正常编译并且不会再报错了