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

    colcon build后的报错

    已定时 已固定 已锁定 已移动
    机器人学
    ros2 报错求解
    2
    4
    389
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 3
      rrrooosss
      最后由 编辑

      ros2@ros2:~/ros2_ws$ colcon build
      Starting >>> realsense2_camera_msgs
      --- stderr: realsense2_camera_msgs
      Traceback (most recent call last):
      File "/home/ros2/ros2_ws/build/realsense2_camera_msgs/ament_cmake_python/realsense2_camera_msgs/setup.py", line 4, in <module>
      setup(
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/init.py", line 117, in setup
      return distutils.core.setup(**attrs)
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 186, in setup
      return run_commands(dist)
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
      dist.run_commands()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 983, in run_commands
      self.run_command(cmd)
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1002, in run_command
      cmd_obj.run()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 312, in run
      self.find_sources()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 320, in find_sources
      mm.run()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 548, in run
      self.prune_file_list()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/command/sdist.py", line 162, in prune_file_list
      super().prune_file_list()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py", line 380, in prune_file_list
      base_dir = self.distribution.get_fullname()
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_core_metadata.py", line 272, in get_fullname
      return _distribution_fullname(self.get_name(), self.get_version())
      File "/home/ros2/.local/lib/python3.10/site-packages/setuptools/_core_metadata.py", line 290, 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_realsense2_camera_msgs_egg.dir/build.make:70:CMakeFiles/ament_cmake_python_build_realsense2_camera_msgs_egg] 错误 1
      gmake[1]: *** [CMakeFiles/Makefile2:447:CMakeFiles/ament_cmake_python_build_realsense2_camera_msgs_egg.dir/all] 错误 2
      gmake[1]: *** 正在等待未完成的任务....
      gmake: *** [Makefile:146:all] 错误 2

      Failed <<< realsense2_camera_msgs [4.79s, exited with code 2]

      Summary: 0 packages finished [4.92s]
      1 package failed: realsense2_camera_msgs
      1 package had stderr output: realsense2_camera_msgs
      2 packages not processed

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        这个错误是由于 setuptools 库中的一个不兼容变化导致的。错误信息显示 canonicalize_version() 函数在调用时遇到了一个意外的关键字参数 strip_trailing_zero。这通常发生在库的某个版本改变了其API,而依赖该库的代码尚未更新以适应这种变化。

        从错误信息来看,问题出现在 realsense2_camera_msgs 包的构建过程中,特别是在使用 setuptools 来设置包信息时。这里有几个可能的解决方案:

        1. 降级 setuptools 版本:
          由于问题看起来是由于 setuptools 的更新引起的,尝试将 setuptools 降级到一个旧版本可能会解决这个问题。你可以尝试安装一个与 realsense2_camera_msgs 兼容的 setuptools 版本。例如,使用以下命令来降级(版本号需要根据你的具体需求调整):

          pip install setuptools==x.y.z
          

          其中 x.y.z 是兼容的版本号。你可能需要查看 realsense2_camera_msgs 的文档或依赖库来确定哪个版本是兼容的。

        2. 更新 realsense2_camera_msgs 包:
          如果可能的话,检查是否有 realsense2_camera_msgs 的更新版本,该版本可能已经修复了与新版 setuptools 的兼容性问题。

        3. 检查依赖关系:
          确保所有依赖库都是最新的,或者至少是彼此兼容的版本。有时候,其他库的更新也可能影响 setuptools 的行为。

        4. 查看 setup.py:
          如果你有权限修改 realsense2_camera_msgs 的源代码,检查 setup.py 文件中调用 setup() 函数的部分,看看是否有可以调整的地方,以避免使用不再支持的参数。

        5. 清理构建环境:
          在尝试上述任何步骤之前,最好清理你的构建环境。你可以删除 build 和 install 目录,然后重新运行 colcon build。

          rm -rf ros2_ws/build ros2_ws/install
          colcon build
          

        选择适合你情况的解决方案,并尝试解决问题。如果问题依然存在,可能需要更详细地检查 realsense2_camera_msgs 的源代码或寻求社区的帮助。


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

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

        3 1 条回复 最后回复 回复 引用 0
        • 3
          rrrooosss @小伊
          最后由 编辑

          @小伊 在 colcon build后的报错 中说:

          这个错误是由于 setuptools 库中的一个不兼容变化导致的。错误信息显示 canonicalize_version() 函数在调用时遇到了一个意外的关键字参数 strip_trailing_zero。这通常发生在库的某个版本改变了其API,而依赖该库的代码尚未更新以适应这种变化。

          从错误信息来看,问题出现在 realsense2_camera_msgs 包的构建过程中,特别是在使用 setuptools 来设置包信息时。这里有几个可能的解决方案:

          1. 降级 setuptools 版本:
            由于问题看起来是由于 setuptools 的更新引起的,尝试将 setuptools 降级到一个旧版本可能会解决这个问题。你可以尝试安装一个与 realsense2_camera_msgs 兼容的 setuptools 版本。例如,使用以下命令来降级(版本号需要根据你的具体需求调整):

            pip install setuptools==x.y.z
            

            其中 x.y.z 是兼容的版本号。你可能需要查看 realsense2_camera_msgs 的文档或依赖库来确定哪个版本是兼容的。

          2. 更新 realsense2_camera_msgs 包:
            如果可能的话,检查是否有 realsense2_camera_msgs 的更新版本,该版本可能已经修复了与新版 setuptools 的兼容性问题。

          3. 检查依赖关系:
            确保所有依赖库都是最新的,或者至少是彼此兼容的版本。有时候,其他库的更新也可能影响 setuptools 的行为。

          4. 查看 setup.py:
            如果你有权限修改 realsense2_camera_msgs 的源代码,检查 setup.py 文件中调用 setup() 函数的部分,看看是否有可以调整的地方,以避免使用不再支持的参数。

          5. 清理构建环境:
            在尝试上述任何步骤之前,最好清理你的构建环境。你可以删除 build 和 install 目录,然后重新运行 colcon build。

            rm -rf ros2_ws/build ros2_ws/install
            colcon build
            

          选择适合你情况的解决方案,并尝试解决问题。如果问题依然存在,可能需要更详细地检查 realsense2_camera_msgs 的源代码或寻求社区的帮助。


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

          把这些方法具体一点

          1 条回复 最后回复 回复 引用 0
          • 小伊小
            机器人小伊
            最后由 编辑

            当然,我可以将这些方法进一步具体化,以便你更容易地解决由 setuptools 不兼容变化导致的问题。以下是针对每个解决方案的详细步骤:

            1. 降级 setuptools 版本

            步骤:

            1. 确定兼容版本:首先,你需要确定一个与 realsense2_camera_msgs 兼容的 setuptools 版本。这可能需要你查看 realsense2_camera_msgs 的文档、发行说明或依赖库的兼容性信息。如果没有明确的信息,你可以尝试一些常见的旧版本,如 45.0.0、40.8.0 等。

            2. 卸载当前版本:使用 pip 卸载当前安装的 setuptools 版本。

              pip uninstall setuptools
              
            3. 安装兼容版本:使用 pip 安装一个兼容的 setuptools 版本。

              pip install setuptools==x.y.z
              

              其中 x.y.z 是你确定的兼容版本号。

            4. 重新构建:清理你的构建环境,并重新运行 colcon build。

              rm -rf ros2_ws/build ros2_ws/install
              colcon build
              

            2. 更新 realsense2_camera_msgs 包

            步骤:

            1. 检查更新:访问 realsense2_camera_msgs 的源代码仓库或发行页面,查看是否有可用的更新版本。

            2. 更新包:如果有更新版本,按照仓库或发行页面的说明更新你的包。这通常涉及克隆或拉取最新的源代码,并可能需要重新配置和构建。

            3. 重新构建:清理你的构建环境,并使用更新后的包重新运行 colcon build。

            3. 检查依赖关系

            步骤:

            1. 列出依赖:查看 realsense2_camera_msgs 的 setup.py 文件或 package.xml 文件,以确定其依赖的库和版本。

            2. 更新依赖:使用 pip 或其他包管理器更新这些依赖库到兼容的版本。

            3. 验证兼容性:确保所有依赖库都是最新的,或者至少是彼此兼容的版本。你可以查看每个库的发行说明或兼容性信息来确认。

            4. 重新构建:清理你的构建环境,并重新运行 colcon build。

            4. 查看 setup.py

            步骤:

            1. 获取源代码:如果你可以访问 realsense2_camera_msgs 的源代码,克隆或下载其仓库。

            2. 检查 setup.py:打开 setup.py 文件,查找调用 setup() 函数的部分。

            3. 调整参数:如果发现有使用不再支持的参数(如 strip_trailing_zero),尝试移除或替换这些参数。

            4. 测试更改:在本地测试你的更改,确保它们没有引入新的问题。

            5. 重新构建:清理你的构建环境,并使用修改后的源代码重新运行 colcon build。

            5. 清理构建环境

            步骤:

            1. 删除构建目录:使用 rm -rf 命令删除你的构建目录和安装目录。

              rm -rf ros2_ws/build ros2_ws/install
              
            2. 重新构建:在清理了构建环境后,重新运行 colcon build 以构建你的工作空间。

            请注意,在尝试这些解决方案时,最好在一个干净的环境中操作,以避免潜在的冲突或干扰。如果你不确定某个步骤,最好先查阅相关文档或寻求社区的帮助。


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

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

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