栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Manjaro Linux安装ROS机器人系统:从开始到放弃

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Manjaro Linux安装ROS机器人系统:从开始到放弃

  • 首先ROS的官网显示目前ROS有3个版本,ROS1, ROS2 LTS, ROS2 Latest, 我想安装ROS2 Latest最新版—名字叫做galactic.
  • 其次ROS官网显示对系统的支持只有ubuntu,Win10等,没有Manjaro;
  • 然后Arch Wiki上显示Aur库中已经有ROS1, ROS2了,那安装起来就简单, ROS2在Aur库里的名字叫做ros2-galactic
    • 安装之前首先全面更新系统:yay -Syyu
    • 直接安装:yay -Sy ros2-galactic
      • 报错python-numpy与/usr/bin/f2py, /usr/bin/f2py3冲突,将这两个文件mv到桌面备份,然后重新执行命令安装——如果遇到从github下载失败的错误,就重试、更换为github镜像、或使用其他方法避免下载失败,很顺利就安装完成了

网络、环境顺利的话,上面一句命令就安装成功了,然而下面才是我的真实安装过程:

我在遇到 python-numpy冲突的时候,首先用Pip安装了numpy, 然后想根据安装ros2-galactic时的输出信息,逐个安装依赖的软件包,但没想到最后安装ros的时候仍然需要安装python-numpy, 而且仍然提示冲突,就想到了移动走的办法(因为这两个文件的权限为root, 担心移动走会搞坏系统)。

  • yay -Sy apr apr-util asio assimp bullet eigen gtest log4cxx mariadb-libs poco python-apipkg python-argcomplete python-argparse python-attrs python-coverage python-dateutil python-docutils python-empy python-iniconfig python-lark-parser python-netifaces python-nose python-notify2 python-pluggy python-py python-pyaml python-pytest python-pytest-cov python-pytest-repeat python-pytest-rerunfailures python-pytest-runner python-sip4 sip sip4 tinyxml tinyxml2 unixodbc
    • python-numpy也在这里,跳过不安装
  • yay -Sy python-vcstool python-colcon-core python-colcon-argcomplete python-colcon-bash python-catkin_pkg python-colcon-cmake python-colcon-defaults python-colcon-devtools python-colcon-library-path python-colcon-metadata python-colcon-notification python-colcon-output python-colcon-package-information python-colcon-package-selection python-colcon-pkg-config python-colcon-parallel-executor python-colcon-powershell python-colcon-python-setup-py python-colcon-recursive-crawl python-colcon-ros python-colcon-test-result python-colcon-zsh python-colcon-common-extensions python-rospkg python-rosdistro python-rosdep ros2-arch-deps ros2-pyqt5-sip-compat ros2-galactic
  • 安装完上面两大串依赖之后,再安装yay -Sy ros2-galactic总是卡在perpare()步骤(一个小时左右报错无法连接github),Log很多E说明还是网络问题。走到prepare()这一步,~/.cache/yay/ros2-galactic/src/ros2/这个github仓库就应该已经clone下来了,修改其中的ros2.repos文件,将所有的github.com链接替换为github镜像(一共428M的东西,大约100个仓库),比如:
    • 将:https://github.com/ros2/yaml_cpp_vendor.git
    • 替换为:https://api.mtr.pub/ros2/yaml_cpp_vendor.git
  • 替换之后先不要再次运行yay -Sy ros2-galactic, 因为你修改了ros2仓库,yay安装的时候会再尝试把它更新回去;
    • 也不要尝试先手动执行vcs import src < ros2.reposclone需要的库,因为这个aur软件包安装脚本有点蠢,每次都会把src删除再重新生常;
    • 可以这样:将修改后的ros2.repos移动到桌面备份; 将原来的/usr/bin/vcs可执行文件重命名为vcs_raw, 然后写一个脚本命名为vcs, 放到/usr/bin下,内容为:
      cp ~/Desktop/ros2.repos ~/.cache/yay/ros2-galactic/src/ros2/
      /usr/bin/vcs_raw $*
      
      然后赋予可执行权限chmod +x /usr/bin/vcs,这样执行yay -Sy ros2-galactic至少不会卡在prepare(),能够进入编译过程了;
    • 需要编译300+软件包,并且编译的时候仍然需要从github下载东,仍然可能有网络问题,感谢党!!除了网络问题也可能遇到软件包不兼容的问题,比如没有include某个头文件,然后就又要重新开始,感觉不如手动编译源码;但是手动编译到第120个软件包左右又遇到sip4与pyqt5不兼容的问题,,,放弃,换ubuntu或者win10,按官方教程安装。
      • 清理的话,先Rs第二串,再Rs第一串。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888185.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号