之前花了一个星期用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安装
设备要求官网上都有,就不赘述了。值得一提的是需要开放两个端口:
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
到这基本上都不会有太多的问题,有问题的话一般也比较好解决,各位可以自行查找相关文献。
到这里开始就会容易出现各种问题了,请各位要认真按照步骤执行!!!
首先你需要有github和UE4的账号,没有的话注册就行(注意的是我注册UE4账号的时候网络问题总是不成功,可以尝试多试几次,或者用手机注册)。
注册完成后需要绑定github和UE4账号,借鉴一下这个博客的图:【UE4 C++】如何关联GitHub 下载UE4引擎源代码_KylerLiZi的博客-CSDN博客
登陆虚幻4官网www.unrealengine.com在如下位置关联GITHUB:
但是千万不要直接zip下载!!
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/你的用户名/下面的,如果你乱下位置,会影响到之后的代码执行(后续可以对应改 但是没有必要,这里我踩坑了)
cd ~/UnrealEngine_4.26
./Setup.sh && ./GenerateProjectFiles.sh && make
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor
一套命令下来会需要大概1-2小时吧,前面都做对了的话这部分基本不会报错。
最后会出现类似这样的画面(是4.26,这里借用了其他博主的图,刚开始不会有最近打开的项目)
看代码如果没有在跑了 就可以关掉执行下一步了。
先执行一手加速编译
sudo apt-get install aria2
执行了默认是0.9.13,现在是22年08.16,之后可能会有版本更新,请注意一下,一般也不会有什么问题,最多网络问题多试几次,不用 挂VP嗯。
git clone https://github.com/carla-simulator/carla
在CARLA的路径下执行,也要等比较久
./Update.sh
下载其他的相关资源,大概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 不太对
你就在下载的那里打开terminal然后就行:
tar -xvzf 20211112_d5cfa12.tar.gz
打开
gedit ~/.bashrc
在后面加上 export UE4_ROOT=~/UnrealEngine_4.26,保存并退出,这里我踩过一次坑,就这个路径一定和UE4下载的路径保持一致,不然后面make launch的时候会报UE_ROOT错
最重要的两步
在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文件编译,我没试这种方式,有需求的可以查)
执行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里面也生成了对应车辆在跑,那就恭喜你编译成功啦。