deal_build
Ros系统出现的问题
Ros系统对电脑系统的内核有要求,需>=4.4.0版本。解决办法如下:
在启动Ubuntu系统时,进入ubuntu系统高级选项,然后选择已有的系统内核版本,如果没有大于4.4.0的内核版本,需要自行下载。
查看电脑内核版本:uname –r
内核问题解决后,还需在realsenseSDK2.0文件安装Video4Linux视频内核驱动
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
然后,编译配置文件(该步骤需联网)
./scripts/patch-realsense-ubuntu-lts.sh
build_ros.sh编译问题
1.build_ros.sh编译出错如下所示
解决办法:
在~/.bashrc文件末尾添加一行路径,如下所示:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:
PATH/ORB_SLAM2/Examples/ROS
其中,PATH是ORB_SLAM2所在路径
2.sudo rosdep init 错误
Github的raw文件读取地址遭受DNS污染,导致文件下载困难
错误(1)如下所示:
解决办法:打开终端~,输入:
sudo gedit /etc/hosts
将 151.101.0.133 raw.githubusercontent.com 粘到文件末尾
199.232.4.133 raw.githubusercontent.com
错误(2)20-default.list 文件还下载不下来
解决办法:
定位到该目录 /etc/ros/rosdep/sources.list.d 打开 20-default.list 文件
sudo gedit 20-default.list
更改里面内容位:(将一下内容替换文件内容即可)
# os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead
再次rosdep update
错误(3)20-default.list文件重复,错误如下:
ERROR: default sources list file already exists:/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize
解决办法:
将20-default.list删除再进行rosdep update
3.Rosdep update 超时
(1)解决SSL验证问题
在/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py中顶部直接插入两行代码取消SSL验证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
再次rosdep update
(2)更改镜像源
sudo sh -c ‘. /etc/lsb-release && echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ lsb_release -cs
main” > /etc/apt/sources.list.d/ros-latest.list’
然后
sudo apt-get update
rosdep update
还可以点击System Settings-Software & Update-Ubuntu Sofeware-Downloaded from更换下载源。在更换下载源时,点击Select Best Server,等待几分钟,弹出推荐的下载源,选择它,
接着,sudo apt-get update
rosdep update
(3)更改download_timeout的值
更改/usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
/usr/lib/python2.7/dist-packages/rosdep2/rep3.py
/usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
三个文件中的DOWNLOAD_TIMEOUT = 15.0值,改大一些就可以了
(4) unable to process source
1) sudo gedit /etc/resolv.conf
2)将原有的nameserver这一行注释,并添加以下两行:
nameserver 8.8.8.8 #google域名服务;nameserver 8.8.4.4 #google域名服务器
3)保存后执行 sudo apt-get update
4)rosdep update
注意!!!:在rosdep update时尽量用手机热点,如果出现超时问题,在此进行rosdep update,多重复做几次,本人重复三次rosdep update成功
最终rosdep update成功如下所示:
上一篇: 把私房钱交出来
下一篇: 小姐姐吃个泡面都这么霸气
推荐阅读