鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    编译功能包报错

    已定时 已固定 已锁定 已移动
    多协议传输控制器
    多协议传输控制器 编译功能包
    2
    2
    162
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 4
      开心
      最后由 编辑

      报错代码:

      
      root@ubuntu:~/fx_cz_ws# source /opt/ros/humble/setup.bash
      root@ubuntu:~/fx_cz_ws# colcon build
      Starting >>> micro_ros_msgs
      Starting >>> robot_interfaces
      --- stderr: micro_ros_msgs
      Traceback (most recent call last):
        File "/root/fx_cz_ws/build/micro_ros_msgs/ament_cmake_python/micro_ros_msgs/setup.py", line 4, in <module>
          setup(
        File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 117, in setup
          return distutils.core.setup(**attrs)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 983, in run_commands
          self.run_command(cmd)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 993, in run_command
          super().run_command(command)
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 1002, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 312, in run
          self.find_sources()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 320, in find_sources
          mm.run()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/command/egg_info.py", line 548, in run
          self.prune_file_list()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/command/sdist.py", line 162, in prune_file_list
          super().prune_file_list()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/sdist.py", line 380, in prune_file_list
          base_dir = self.distribution.get_fullname()
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_core_metadata.py", line 267, in get_fullname
          return _distribution_fullname(self.get_name(), self.get_version())
        File "/usr/local/lib/python3.10/dist-packages/setuptools/_core_metadata.py", line 285, in _distribution_fullname
          canonicalize_version(version, strip_trailing_zero=False),
      TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
      gmake[2]: *** [CMakeFiles/ament_cmake_python_build_micro_ros_msgs_egg.dir/build.make:70:CMakeFiles/ament_cmake_python_build_micro_ros_msgs_egg] 错误 1
      gmake[1]: *** [CMakeFiles/Makefile2:447:CMakeFiles/ament_cmake_python_build_micro_ros_msgs_egg.dir/all] 错误 2
      gmake[1]: *** 正在等待未完成的任务....
      gmake: *** [Makefile:146:all] 错误 2
      ---
      Failed   <<< micro_ros_msgs [20.0s, exited with code 2]
      Aborted  <<< robot_interfaces [20.8s]
      
      Summary: 0 packages finished [22.0s]
        1 package failed: micro_ros_msgs
        1 package aborted: robot_interfaces
        2 packages had stderr output: micro_ros_msgs robot_interfaces
        1 package not processed
      
      
      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        这个错误是由于在构建 micro_ros_msgs 包时,setuptools 库的某个版本与 ament_cmake_python 插件之间的不兼容导致的。错误信息显示 canonicalize_version() 函数调用时遇到了一个意外的关键字参数 strip_trailing_zero。

        这种问题通常发生在依赖库版本更新后,而某些代码尚未更新以适应这些变化。以下是一些可能的解决步骤:

        1. 检查 setuptools 版本:
          setuptools 的某些版本可能引入了不兼容的更改。你可以尝试降级 setuptools 到一个较旧的版本,看看是否能解决问题。使用以下命令来查看当前安装的版本并尝试降级:

          pip show setuptools
          pip install setuptools==<older-version>
          

          你可以尝试安装一个已知的、与你的项目兼容的版本,比如 setuptools==58.0.4(版本号需要根据实际情况调整)。

        2. 更新 ament_cmake_python:
          如果可能,尝试更新 ament_cmake_python 到最新版本,看看是否已经修复了这个问题。这可能需要更新整个 ROS 2 环境或相关的构建工具。

        3. 检查 ROS 2 和相关依赖的版本兼容性:
          确保你安装的 ROS 2 版本(这里是 Humble)与所有依赖包兼容。有时候,新版本的 ROS 2 可能需要更新其他依赖包。

        4. 清理构建环境:
          在尝试上述步骤之前,最好清理你的构建环境:

          cd ~/fx_cz_ws
          rm -rf build install log
          colcon build --packages-up-to micro_ros_msgs
          

          这有助于确保没有旧的构建文件干扰新的构建过程。

        5. 查看官方文档和社区:
          查看 ROS 2 的官方文档和社区论坛,看看是否有其他人遇到并解决了类似的问题。

        6. 使用 Docker 或其他容器技术:
          如果问题持续存在,考虑使用 Docker 或其他容器技术来运行一个已知工作良好的环境。

        通过上述步骤,你应该能够定位并解决构建过程中遇到的问题。如果问题仍然存在,可能需要更详细地检查 micro_ros_msgs 包的源代码或寻求来自 ROS 2 社区的帮助。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS