Ubuntu18.04源码编译Carla0.9.13保姆级教程
Posted 北交Yuer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里面也生成了对应车辆在跑,那就恭喜你编译成功啦。
要是有帮到你的话还麻烦点个赞哦,我也是踩了很多坑想让大家避坑~
Ubuntu18.04安装Carla0.9.12
参考教程
官方编译文档:Linux build - CARLA Simulator
Ubuntu 18.04 安装CARLA
Ubuntu18.04源码编译Carla0.9.13保姆级教程
Ubuntu16.04升级python3.6,并解决ppa:jonathonf拒绝访问
物理环境
cpu:i5-8500
内存:16g
显卡:1660
一、环境准备
安装NVIDIA驱动(显卡 K5000)
sudo ubuntu-drivers autoinstall
安装 vulkan-sdk
wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list
sudo apt update
sudo apt install vulkan-sdk
安装依赖
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
修改clang版本以便于配合Unreal Engine
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
安装python3.6(可以安装自己想要的版本,已经安装过的可以跳过这步)
添加ppa仓库
sudo add-apt-repository ppa:jonathonf/python-3.6
如果显示Cannot add PPA: ‘ppa:~jonathonf/ubuntu/python-3.6’. The user named '~jonatho…,尝试以下命令
sudo add-apt-repository ppa:deadsnakes/ppa
成功之后,升级apt索引,更新python
sudo apt-get update
sudo apt-get install python3.6
然后,更新系统默认的软连接命令Python3到新的Python3.6,注意,这一步是让Python3默认为3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
然后还要更改默认值,Ubunt16.04的python默认为Python2,现在修改为Python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
安装CARLA Python API (下面这个都装或者装一个都行,有报错好像也是无关紧要,跳过即可)注册 GitHub(如果没有的话)和 UE 账户, 并将他们链接起来
# For Python 3
pip3 -V
# For Python 2
pip -V
# For Python 3
pip3 install --upgrade pip
# For Python 2
pip 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(如果没有的话)和 UE 账户, 并将他们链接起来
Unreal Engine(虽然是英文版,但是按这个操作还是没问题的)
克隆Unreal Engine 4.26到电脑上
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
然后会提示输账号密码,账号是github的账号,密码是token,需要生成。
后续操作(其中第二步编译建议使用 make -j[N]的形式加快编译速度,例如我是六核cpu,就写 ./Setup.sh && ./GenerateProjectFiles.sh && make -j12)
cd ~/UnrealEngine_4.26
./Setup.sh && ./GenerateProjectFiles.sh && make
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor
这几步大概需要编译1小时左右,最后会出现Unreal Engine。
二、Build Carla
加速编译
sudo apt-get install aria2
克隆carla到计算机
git clone https://github.com/carla-simulator/carla
获取carla资源
cd ~/carla
./Update.sh
设置环境变量
gedit ~/.bashrc
export UE4_ROOT=~/UnrealEngine_4.26
启动客户端(半个小时左右,这里如果报错说
The TLS connection was non-properly terminated.。
recipe for target ‘setup’ failed
是git网站不稳定的原因,多执行几遍就行。)
make PythonAPI
也可以选择安装特定的PythonAPI
make PythonAPI ARGS="--python-version=2.7, 3.6, 3.7, 3.8"
编译服务器(半个小时左右)
make launch
启动成功之后,点击Unreal Engine 里的“启动”图标,然后新开两个终端,分别输入以下代码:
# Terminal A
cd PythonAPI/examples
python3 -m pip install -r requirements.txt
python3 generate_traffic.py
# Terminal B
cd PythonAPI/examples
python3 dynamic_weather.py
然后如果出现车辆,天气,那么安装成功。
安装过程中如果遇到问题欢迎留言。
以上是关于Ubuntu18.04源码编译Carla0.9.13保姆级教程的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu18.04源码编译Carla0.9.13保姆级教程
Ubuntu18.04编译ZLMediakit支持webrtc