Ubuntu18.04源码编译Carla0.9.13保姆级教程

之前花了一个星期用windows来编译,浪费了很多时间....最后还是放弃了....选对道路真的很重要呀。废话不多说,就全过程的解释一下。

主要参考:官方的编译文档Linux build - CARLA Simulator

次要参考:

ubuntu 18.04安装carla (完整编译安装)_lsg^_^zss的博客-CSDN博客

Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版_jl_sjtu的博客-CSDN博客_ubuntu安装carla

CARLA安装记录(二)_MIKE2333的博客-CSDN博客_carla安装

0、在一切之前:

①请一定一定完全按照官网的流程进行,不要自己理所当然的做一些事情!!!

②一定要用git指令把东西拷贝下来,不要用zip下载解压,血的教训!!!!

一、前期准备:

设备要求官网上都有,就不赘述了。值得一提的是需要开放两个端口:

iptables -I INPUT -p tcp --dport 2000 -j ACCEPT
iptables -I INPUT -p tcp --dport 2001 -j ACCEPT
iptables-save

二、软件要求

CARLA 需要许多不同类型的软件才能运行。 有些是在 CARLA 构建过程本身期间构建的,例如 Boost.Python。 其他是应该在开始构建之前安装的二进制文件(cmake、clang、不同版本的 Python 等)。

要安装这些要求,别管那么多,直接运行下面命令就行了(如果有的需要root权限 就sudo su输入账号密码后执行就可以):

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
sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip 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-8/bin/clang++ 180 && sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180

我下载的python用的版本是3.6,直接依次运行下列代码:

pip3 -V
pip3 install --upgrade pip
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

到这基本上都不会有太多的问题,有问题的话一般也比较好解决,各位可以自行查找相关文献。

三、编译UE

到这里开始就会容易出现各种问题了,请各位要认真按照步骤执行!!!

首先你需要有github和UE4的账号,没有的话注册就行(注意的是我注册UE4账号的时候网络问题总是不成功,可以尝试多试几次,或者用手机注册)。

1、绑定账号

注册完成后需要绑定github和UE4账号,借鉴一下这个博客的图:【UE4 C++】如何关联GitHub 下载UE4引擎源代码_KylerLiZi的博客-CSDN博客

登陆虚幻4官网www.unrealengine.com在如下位置关联GITHUB:

  • 接下来进入GITHUB中的UE4专栏Epic Games · GitHub,此时网页顶端会有一个提示邀请你加入Epic games team,同意后刷新就会显示如下页面,否则只会显示ThirdParty和Signup两项内容。

但是千万不要直接zip下载!!

 2、git下来

git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26

这个语句执行后会让你输github的账号密码,但是这个密码不是你登陆的密码,是需要生成token

具体方法参考GitHub生成token_想搓一顿火锅的博客-CSDN博客_github生成token

最后会生成一长串数字,这个就是你需要输入的密码。

注意事项2:一定看清楚你下载的位置,~/UnrealEngine_4.26是会在home/你的用户名/下面的,如果你乱下位置,会影响到之后的代码执行(后续可以对应改 但是没有必要,这里我踩坑了)

3、后续操作

cd ~/UnrealEngine_4.26
./Setup.sh && ./GenerateProjectFiles.sh && make
 cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

一套命令下来会需要大概1-2小时吧,前面都做对了的话这部分基本不会报错。

最后会出现类似这样的画面(是4.26,这里借用了其他博主的图,刚开始不会有最近打开的项目)

看代码如果没有在跑了 就可以关掉执行下一步了。 

四、编译CARLA前期

先执行一手加速编译

 sudo apt-get install aria2

1、拷贝下来carla

执行了默认是0.9.13,现在是22年08.16,之后可能会有版本更新,请注意一下,一般也不会有什么问题,最多网络问题多试几次,不用 挂VP嗯。

git clone https://github.com/carla-simulator/carla

2、更新

在CARLA的路径下执行,也要等比较久

./Update.sh

3、附属资源下载

下载其他的相关资源,大概13G蛮大的

 IF:

如果你是0.9.13,直接打开网站下载就行:

http://carla-assets.s3.amazonaws.com/20211112_d5cfa12.tar.gz

ELSE:

打开CALRA下的\Util\ContentVersions.txt,里面包含了网站:

 然后把这个文件名塞到后面这个网站里面去:http://carla-assets.s3.amazonaws.com/PUT_FILE_ID_HERE.tar.gz

然后都需要解压,注意官网这个解压的语句tar -xvzf <assets_file_name>.tar.gz.tar -C C:\path\to\carla\Unreal\CarlaUE4\Content\Carla不太对

你就在下载的那里打开terminal然后就行:

tar -xvzf 20211112_d5cfa12.tar.gz

4、设置环境变量

打开

 gedit ~/.bashrc

在后面加上 export UE4_ROOT=~/UnrealEngine_4.26,保存并退出,这里我踩过一次坑,就这个路径一定和UE4下载的路径保持一致,不然后面make launch的时候会报UE_ROOT错

五、编译CARLA后期

最重要的两步

1、make PythonAPI

在CARLA路径执行make PythonAPI,会等很久大概半个小时?

常见错误:

①网络错误,一种是什么超时,多少毫秒ms

②recipe for target 'setup' failed,make: *** [setup] Error 2

 这两种错误都不要慌,99%都是网络问题,如果是①就继续执行make PythonAPI,如果是②建议删掉CARLA下面的BUILD整个文件夹,重新执行make PythonAPI,然后建议早上和半夜和晚上网络比较稳定,我试了N次,你就一遍编译一遍摸鱼就行,BUG多了自然就麻木了。

③fatal: Not a git repository (or any of the parent directories): .git
Util/BuildTools/Linux.mk:13: recipe for target 'package' failed
make: *** [package] Error 128 

如果不是①②的问题,那么就要认真反思一下自己有没有git clone下来CARLA ,不能下载解压,要听话!!!

其他问题可以去官网的issue里面看看,基本都有,Issues · carla-simulator/carla · GitHub,成功了话就会有success。

(可以不.WHL文件编译,我没试这种方式,有需求的可以查)

2、make launch

执行make launch,第一次的话也很久,1小时左右吧

①如果这里也报了类似Util/BuildTools/Linux.mk:7: recipe for target 'launch' failed
make: *** [launch] Error 2的错,那么就要认真反思一下自己有没有git clone下来UE4,不能下载解压,要听话!!!

②都结束后要准备弹出来UE4界面的时候,就弹出了

在终端中输入vulkaninfo查看vulkan运行状态,要是说没安装就装一下,装好了在输入vulkaninfo发现报错:

请添加图片描述

恭喜您,又有一桩破事,需要重新装一下显卡驱动(将RHI=”-vulkan”更改成 RHI=”-opengl”现在没用了,亲测)

解决方法:把显卡驱动卸载掉,重新不带–-no-opengl-files –-no-x-check这两个参数。

推荐ubuntu18.04安装显卡驱动(四种方式)_四处炼丹的博客-CSDN博客_ubuntu安装显卡驱动的第二种方式。

装好了应该就没问题了,第一次打开会加载很久很久,就耐心等待吧。

然后点击运行按钮,会加载一段时间,然后wasd能够移动。

六、测试

 到PythonAPI\examples中,运行一个新的终端,依次执行

python3 -m pip install -r requirements.txt
python3 generate_traffic.py

如果UE4里面也生成了对应车辆在跑,那就恭喜你编译成功啦。

要是有帮到你的话还麻烦点个赞哦,我也是踩了很多坑想让大家避坑~

猜你喜欢

转载自blog.csdn.net/weixin_36184353/article/details/126373080