記錄一下RDS-SLAM的復(fù)現(xiàn)過程和當(dāng)中遇到的一些問題
在git上直接下載完RDS-SLAM之后按照README的步驟在第一步sudo docker-compose build就遇到很多的問題。問題如下
1、報(bào)錯記錄【W(wǎng)ARNING: apt does not have a stable CLI interface. Use with caution in scripts.】
直接運(yùn)行RDS-SLAM的dockerfile
遇到報(bào)錯:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
解決方法:
RUN apt update
不要在腳本中使用apt命令,如果在腳本中使用apt命令,有可能會得到"WARNING: apt does not have a stable CLI interface. Use with caution in scripts." 提示。使用apt-get命令進(jìn)行替換apt,問題解決!
RUN apt-get update
?文章來源地址http://www.zghlxwxcb.cn/news/detail-813996.html
2、報(bào)錯記錄【W(wǎng): GPG error: https://developer.do....E: The repository ‘https://develope】
遇到報(bào)錯:
?解決方法:
在dockerfile中把其中的代碼修改一下,添加公鑰,在apt-get update前面添加:
apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub \
雖然說這里面的是ubuntu1604,但是我自己試了一下沒有報(bào)錯,應(yīng)該是沒關(guān)系的。?問題解決!
3、報(bào)錯記錄【ERROR: This script does not work on Python 3.6 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.】
問題描述:
?
參考:關(guān)于Docker 報(bào)錯 問題 ERROR:This script does not work on python 3.5 The minimum supported Python version_覺子的博客-CSDN博客
解決方案:
將Dockerfile中的提示 “https://bootstrap.pypa.io/get-pip.py”改為建議的“https://bootstrap.pypa.io/pip/3.6/get-pip.py ”即可,這里看報(bào)錯提示根據(jù)提示來修改。
這里需要說明,不能在編譯環(huán)境中(Linux)進(jìn)行更改,這樣還會報(bào)同樣的錯誤,因?yàn)橹恍薷牧酥鳈C(jī)環(huán)境的pip,跟Docker環(huán)境是兩碼事,所以一定要在Dockerfile中修改!
問題解決!
?
4、報(bào)錯記錄【ERROR: Could not find a version that satisfies the requirement comm>=0.1.3 (from ipywidgets; extra == "all"->IPython[all]->-r /root/requirements.txt (line 14)) (from versions: 0.0.1)】
繼續(xù)運(yùn)行時(shí)報(bào)錯
?
解決方法:
我覺得是pip2版本的問題,就在dockerfile中把報(bào)錯中的pip2改成pip3,修改后成功!
5、報(bào)錯記錄【failed to solve: process "/bin/sh -c /bin/bash -c 'echo \"deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main\" > /etc/apt/sources.list.d/ros-latest.list' && ? ? apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 && ? ? apt-get update && apt install -f && apt-get install -y ros-melodic-desktop-full" did not complete successfully: exit code: 100】
在這里我們是配置ROS的時(shí)候有一個網(wǎng)fetch不到
解決方案:
掛VPN再run一下就能夠解決了。但是運(yùn)行的時(shí)間巨長!
6、報(bào)錯記錄【ERROR: Rosdep experienced an error: ('The read operation timed out',) ? ? ??Please go to the rosdep page [1] and file a bug report with the stack trace below.】
?
????????之前在ubuntu下安裝ros的時(shí)候這一步就會卡住,所以在發(fā)現(xiàn)這個錯誤的時(shí)候也并不奇怪,看了一下dockerfile 他寫的就是直接運(yùn)行的,而且后面直接rosdep update 那后面也會報(bào)錯的。說實(shí)話我真不知道作者他是怎么直接運(yùn)行成功的。。。。。。繼續(xù)持續(xù)記錄報(bào)錯。。。
解決方案:
? ? ? ? 在dockerfile中找到RUN rosdep init然后把他換成
RUN apt-get install python-rosdep \
&& rosdep init
在運(yùn)行一下就好了,問題解決!?
7、報(bào)錯記錄【ERROR [rdsslam 12/28] RUN rosdep update?】
?
不得不說有的時(shí)候前面解決過得問題過了兩個月我是真的不記得了,然后又得重新去找解決辦法,所以說自己記錄一下真的很重要!
解決方案:
參考博客:
ROS rosdep update更新失?。ê唵谓鉀Q)_rosdep update reading in sources list data from /e-CSDN博客
在dockerfile中找到RUN rosdep update那一行(就是上面一個報(bào)錯的下一行)然后將其修改為
RUN pip3 install rosdepc \
&& rosdepc update
再去build一下就通了,問題解決!?
?
8、報(bào)錯記錄【?ERROR [rdsslam 21/29] RUN wget -c http://mi.eng.cam.ac.uk/~agk34/resources/SegNet/segnet_pascal.caffemodel?】
在這里報(bào)錯了,我上了一下這個網(wǎng)址好像是之前的網(wǎng)址現(xiàn)在已經(jīng)沒有了。
解決方案:
因?yàn)檫@個是編譯所以我打算把該指令直接刪除然后再編譯好創(chuàng)建新的容器后在容器當(dāng)中去加入這個模型,但是需要注意的是我們要記住這個容器中的路徑。?這個在我們的dockerfile中有寫
9、有時(shí)會由于網(wǎng)絡(luò)問題,在git clone的時(shí)候可能會有一些報(bào)錯
多build幾次就好了
到此就已經(jīng)build好了,終于進(jìn)入下一步。文章來源:http://www.zghlxwxcb.cn/news/detail-813996.html
?
到了這里,關(guān)于ubuntu18.04用docker復(fù)現(xiàn)RDS-SLAM編譯部分的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!