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

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

首先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第一串。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/927367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-17
下一篇 2022-05-17

发表评论

登录后才能评论

评论列表(0条)

保存