已经多次在不同版本的系统18.04、20.04安装carla不同源码版本0.9.11,0.9.12,0.9.13了,发现每次安装总是会遇到那么几个问题,现在新配了主机又要重新安装carla,这次准备详细的记录一下,方便未来安装时又遇到类似问题,减少安装时间。
一、安装carla的准备工作
在我第一次安装源码版本的carla,那时候还是2022年3月,啥都不明白,按照官网的步骤安装遇到了问题在网上资料也找不到,最后是遇到了一位好心的工程师远程帮我看了下,最后才安装成功了,记得前前后后花了快一个月,在这里祝这位工程师未来年薪百万,身体健康。现在在这里记录一下为认为在正式安装之前需要做的准备工作,也是为第一次遇到了血泪教训。共有两个:
1.检查显卡的驱动是否成功安装
一般安装好ubuntu系统后,它是会默认使用它自己写的显卡驱动好像叫nov什么什么的倒霉玩意,应该切换安装到适合自己显卡的驱动,一般来说在这里切换。
切换完成后看一下nvidia-smi显示和系统设置那里的显示:
这样显卡驱动部分就安装好了。
2.检查自己的swap分区的大小
这真是一个血泪教训,我第一次安装就是在这里卡到吐血,安装ue4成功,make PythonAPI成功,最后在make launch这里卡了很久很久,快一个星期吧。最后在外网的一个网站上面看都有人说可能是自己的swap和内存太小了,然后为自己的是设置了20g好像不行,又增加了20g最后才安装成功。检查自己的swap分区大小命令:
很奇怪,当时安装的时候明明分配了40g这里只显示了2g?
下面开始正式安装,参考官方文档:
官方文档0.9.13https://carla.readthedocs.io/en/0.9.13/build_linux/注意自己所看的官方文档是哪个版本的,一般默认显示的是最新版本的,后面包括github上默认下载的也是最新版本的,我第一次装的是0.9.10,这个默认版本也卡了快一周。
二、运行所必须第三方库安装
安装第三方库比如cmake, clang, different versions of Python, etc.
使用doc上提供的命令:
sudo apt-get update &&
sudo apt-get install wget software-properties-common &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" &&
sudo apt-get update
ubuntu各个系统针对clang的要求不一样,doc写的很仔细,注意找不到ubuntu20.04的就去lastest看看,里面写的很全。
ubuntu20.04:
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
sudo apt-get install build-essential clang-10 lld-10 g++-7 cmake ninja-build libvulkan1 python python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-10/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-10/bin/clang 180
最好一行一行的输入,&&也分开,有时候会因为网络问题说有几个包没有下载好,直接多下载几次就好了。
pip问题:
根据doc写到没有20.3就升级一下
pip3 install --upgrade pip
这里遇到了问题
没有升级成功,在网上找到了解决办法,在终端输入:
gedit ~/.bashrc
在最后一行加入:export PATH=/home/v2t-smi/.local/bin:$PATH
这里路径是它提示错误的路径,注意home前面的/不能少。然后在source一下,就升级成功了。
继续安装python的依赖
pip install --user setuptools &&
pip3 install --user -Iv setuptools==47.3.1 &&
pip install --user distro &&
pip3 install --user distro &&
pip install --user wheel &&
pip3 install --user wheel auditwheel
报错说
网上的解决方案:
python3 -m pip install launchpadlib
sudo pip3 install setuptools
然后再次尝试,没有报错了。然后第三方库的安装就基本完成,下面开始UE4的安装。
三、UE4的安装
注意版本的区别,0.9.13只能匹配4.26,千万要选择适合自己carla版本的UE。
直接根据doc上的来:
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
cd ~/UnrealEngine_4.26/UnrealEngine-carla
./Setup.sh
./GenerateProjectFiles.sh
make
//测试是否安装成功
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor
注意这里git clone可能会失败,最好是自己在官方github上下载zip然后自己解压
千万不要zip下载一定要git下载
输入命令:
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
然后输入自己github的账号和什么token?token在这里找:GitHub生成token_想搓一顿火锅的博客-CSDN博客_gitlab生成token
./Setup.sh时间很长可能得1h,看网速,建议科学上网。
make的时间最长可能1个多小时,耐心等待,最后出现这个就表示安装完成。
最后测试一下:
显示出了UE4的初始界面就表示UE部分安装完成,下面开始carla部分的安装。
四、carla0.9.13安装
现安装一个命令加速模块,不知道是什么原理,doc说了可以加速就安装吧。
sudo apt-get install aria2
然后正式开始0.9.13版本的安装。
输入命令:
git clone -b 0.9.13 https://github.com/carla-simulator/carla.git
然后就是核心的一步,修改carla源码安装脚本中关于clang 8 的设置修改为clang 10,第一次在ubuntu20.04上安装0.9.13版本的时候这里也卡了很久,最后是退回clang 8才安装成功。
安装脚本的位置是:/home/v2t-smi/carla/Util/BuildTools
文件有3个:
– Setup.sh
– BuildOSM20DR.sh
– BuildPythonAPI.sh
修改完成后进行下一步。
./Update.sh
这里有个深坑,打开上面的Setup.sh文件:
这里显示的是下载3.2.3版本的xerces,但你打开这个网站:
Servidor de réplicas do Consorcio CIXUG
你就会发现,3.2.3版本被移除了???
当时卡了很久,最后好像是在issue里面翻到类似的问题才解决掉。
issue地址:Issue building CARLA during make CarlaUE4Editor: cannot find xerces 3.2.3 since they upgraded to 3.2.4 · Issue #5852 · carla-simulator/carla · GitHub
解决办法是将432行更换成下面这个网站:
https://archive.apache.org/dist/xerces/c/3/sources/
在carla文件夹根目录运行:
./Update.sh
这里也有坑,打开Update.sh
这个网站也失效了,但好像不影响,不太明白。
不断的失败,然后有不断的重新执行这个命令,不知道之后会不会有错误。。。
看起来是成功了。
然后编译pythonAPI,输入命令:
make PythonAPI
//或者带上自己的python版本
make PythonAPI ARGS="--python-version=2.7, 3.6, 3.7, 3.8"
开始出问题了:
好在issue里面找到了一样的问题,下面是链接:
https://github.com/carla-simulator/carla/issues/3428
应该是网络问题,可能晚上情况会好一点,奇怪了,这里居然把梯子关了居然成功了。然后后面就又遇到些乱七八糟的问题,特别是BuildLibCarla.sh这里,这个错误为从来都没有遇到过,可能是换了Python3.8的原因。解决方式是在网上找到的一篇博客,写的很简洁,但都是关键问题:
ubuntu20.04编译carla0.9.13源码_m0_47136637的博客-CSDN博客_ubuntu20编译carla
通过他这个办法,就通过了这个模块。
最后成功了,很辛酸,有的第三方库不用梯子上不去,有的用梯子上不去,来回切换了好几遍,最后记录一下需要的第三方库:
Setup.sh: llvm-8.0 already installed.
Setup.sh: boost-1.72.0-c8 already installed.
Setup.sh: rpclib-v2.2.1_c5-c8 already installed.
Setup.sh: gtest-1.8.1-c8 already installed.
Setup.sh: recast-0b13b0-c8 already installed.
Setup.sh: Libpng already installed.
Setup.sh: Xerces-c already installed.
Setup.sh: Sqlite already installed.
Setup.sh: PROJ already installed.
Setup.sh: Patchelf already installed.
Setup.sh: CARLA version 0.9.13-dirty.
Setup.sh: Generating CMake configuration files.
Setup.sh: Success!
BuildLibCarla.sh: Building LibCarla "Client.Release" configuration.
BuildOSM2ODR.sh: Building OSM2ODR.
BuildOSM2ODR.sh: Success!
BuildPythonAPI.sh: Building Python API for Python 3.8.
成功截图:
最后一步:
make launch
然后报错:
想到好像之前遇到类似的问题,果然在网上一搜是前面下载ue部分出现了问题,不能使用zip下载 ,得使用命令下载,但为第一次安装0.9.13的时候就是zip下载安装的,没有出问题。。。
这里是相关的issue:
https://github.com/carla-simulator/carla/issues/5340
重新下载ue了。。。
安装成功!
太不容易了,从早上10点开始到了晚上8点,ros-bridge还没有安装,不过实验室设备终于鸟枪换炮了,希望可以好好使用。