在wsl2安装ros2遇到的一些坑
依赖问题
由于安装的老版本(humble)ros2,
很多必需包直接安装会报依赖小版本号不一致错误,使用apt
install解决是很麻烦的, 于是要用一个比较新的依赖处理工具
在[package]填出问题的依赖,aptitude会弹出建议的一些解决方案,按1
2sudo apt install aptitude
sudo aptitude install [package],
和.
切换到一个降版本的解决方案,yes即可
swap空间不足
已经到了编译这一步了,但是编到最后总是报错
很搞心态,开新terminal用1
C++: fatal error: Killed signal terminated program cc1plus
htop
命令一查,cpu内存swap全拉满
这个时候就需要给wsl2扩swap空间, 在
c:下找一个叫.wslconfig
的文件,找不到就创建一个,填:
填完1
2[wsl2]
swap=4GBwsl --shutdown
重启一下wsl2,
在wsl的终端free -h
可以查看swap分区的大小,当然直接htop
自然是可以的
如果rosdep已经初始化过了,还要删掉初始化文件重新初始化一下。执行这个sudo rosdep init
会有提示
这个时候再colcon build --symlink-install
就万事大吉了