一、linux原生编译工具链
1、x86_64、aarch64架构linux平台工具链编译。
1)运行Engine/Build/BatchFiles/Linux/Toolchain/RunMe.sh
提示:docker run -t --name build_linux_toolchain -v /media/loongson/data/UE4/4.25/UnrealEngine_4.25/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v16_clang-9.0.1-centos7/build/scripts:/src centos:7 /src/RunMe.sh
./RunMe.sh: 行 18: docker:未找到命令
解决:安装docker,相当于在docker中启动基于centos7的容器,来进行我们后续的操作,x86_64-unknown-linux-gnu.linux.config基于centos7的配置,直接在ubuntu上操作可能会出现问题。
ubuntu安装docker:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
参考:https://www.runoob.com/docker/ubuntu-docker-install.html
2)patches这个文件夹不可缺少
如果缺少Engine/Build/BatchFiles/Linux/Toolchain/patches,在配置文件如Engine/Build/BatchFiles/Linux/Toolchain/x86_64-unknown-linux-gnu.linux.config中有patch的配置,如果缺乏patch可能在编译依赖源码时报错,如
Installing C library在这一过程报错退出
[ALL ] /tmp/cccnXaNo.s: Assembler messages:
[ALL ] /tmp/cccnXaNo.s: Error: `_obstack@GLIBC_2.2.5' can't be versioned to common symbol '_obstack_compat'
[ERROR] gmake4: * [/src/build/build-linux-x86_64-unknown-linux-gnu/.build/x86_64-unknown-linux-gnu/build/build-libc-final/malloc/obstack.os] Error 1
[ALL ] gmake4: Waiting for unfinished jobs....
[ALL ] gmake4: Leaving directory `/src/build/build-linux-x86_64-unknown-linux-gnu/.build/src/glibc-2.17/malloc'
[ERROR] gmake3: [malloc/subdir_lib] Error 2
[ALL