OpenArkCompiler 编译
2019.9.1
编译华为方舟编译器源码
这篇文章仅仅是关于如何搭建环境并进行编译。
本机环境: Ubuntu 16 server.
一定要好好看参考文档!建议使用root账户操作
源码下载
- 先 clone 源码华为开源平台
注意
对应的参考文档OpenArkCompiler 是在 clone 源码后对于 clone 的内容操作的。
环境变量
- 一定要注意:clone下来的源码和参考文档中的文件名不是一一对应的。就像源码
OpenArkCompiler
,而文档中则是openarkcompiler
。 - 这篇文章Ubuntu16.04可执行文件添加到PATH路径中 - zy-- - 博客园给出了几种环境变量的方法。我是直接在
.bashrc
中添加,主要是添加$MAPLE_ROOT
这个环境变量。
安装 ninja 和 gn
gn
gn
直接放在相应位置即可
ninja
ninja
是需要安装的。安装的方法可以查看其参考文档(解压出来之后那个 README)
./configure.py --bootstrap
使用这个命令就会产生 ninja 这个可执行文件。也可以把这个路径写进 .bashrc
自己在这里踩了坑。在对Makefile
中的 NINJA
的路径配置时,将 ninja-1.9.0
写成了 ninja_1.9.0
,导致一直报 /bin/sh: ninja_1.9.0:not found
这个错误。
但是自己一直在关注/bin/sh
这个点(可能是依赖库没有安装完成),于是自己发现ninja
可能需要一个 googletest
这样一个库,于是自己去想方设法安装这个库。发现需要使用CMake
来进行操作,自己又去安装 CMAKE。
之后经过各种各样的问题,googletest
这个库还是没有安装成功。自己觉得方向有点偏离,所以回来一看,才发现了这个小错误。
关于googletest安装思路ubuntu安装google Gtest是可行的。
编译
自己遇到 clang++ 路径错误。
这次是官方的文档和自己的路径不一样。
官方的文档的 clang 的路径是 clang_llvm...
而自己的是 clang+llvm...
成功
经过这样的步骤之后,应该可以编译成功了。编译成功的在 out/bin
中。
这样只剩下 googletest
没有成功了。这个安装思路ubuntu 安装 google Gtest - bingqingsuimeng的专栏 - 优快云博客是可行的。
总结
路径依赖问题是大问题。自己的所有错误基本上都在路径问题!