Ubuntu18.04 安装方舟编译器及测试笔记

网友投稿 1234 2022-05-29

一、将方舟编译器的源码下载保存到需要安装的目录并解压文件。

下载地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home

Ubuntu18.04 安装方舟编译器及测试笔记

二、环境配置

1)、硬件推荐配置

2 GHz 双核处理器或者更高等级CPU

2 GB 系统内存及以上

200GB 可用磁盘空间

2)、开发环境推荐

您需要安装一个64位版本的ubuntu18.04

sudo apt-get -y install openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip lib32z1-dev qemu g++-multilib gcc-multilib libglib2.0-dev libpixman-1-dev linux-libc-dev:i386 sudo apt-get -y install gcc-5-aarch64-linux-gnu g++-5-aarch64-linux-gnu

3)、安装Clang编译器并完成配置(用于编译方舟编译器代码)

1、下载clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04

LLVM下载地址:http://releases.llvm.org/download.html#8.0.0

2、放置到openarkcompiler/tools目录,打开openarkcompiler/build/config/BUILDCONFIG.gn文件,将GN_C_COMPILER、GN_CXX_COMPILER和GN_AR_COMPILER三个变量配置为Clang编译器所在路径,例如:

GN_C_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang" GN_CXX_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang++" GN_AR_COMPILER = "${MAPLE_ROOT}/tools/clang_llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/llvm-ar"

其中${MAPLE_ROOT}为方舟编译器源码所放的根目录

4)、安装Ninja、GN并完成配置

1、下载Ninja(v1.9.0)及GN(Linux Version) Ninja下载地址:https://github.com/ninja-build/ninja/releases

*注意此处需要下载两个文件包:

GN下载地址:https://archive.softwareheritage.org/browse/content/sha1_git:2dc0d5b26caef44f467de8120b26f8aad8b878be/raw/?filename=gn

2、将资源文件解压放置到openarkcompiler/tools目录下,修改解压后的文件夹名称问:ninja_1.9.0

将GN可执行程序放置到openarkcompiler/tools/gn/目录;

将Ninja可执行程序放置到openarkcompiler/tools/ninja_1.9.0/目录;

打开openarkcompiler/Makefile文件,将GN和NINJA两个变量配置为GN和Ninja可执行程序所在路径。例如:

GN := ${MAPLE_ROOT}/tools/gn/gn NINJA := ${MAPLE_ROOT}/tools/ninja_1.9.0/ninja

*注意修改gn和ninja的可执行权限

5)、源码编译

在openarkcompiler目录下执行以下命令,编译出OpenArkCompiler,默认输出路径 openarkcompiler/out/bin。

source build/envsetup.sh make

命令说明: source build/envsetup.sh 初始化环境,将OpenArkCompiler工具链路径openarkcompiler/src/bin设置到环境变量中 make 编译OpenArkCompiler的Release版本 make BUILD_TYPE=DEBUG 编译OpenArkCompiler的Debug版本

*注:执行命令source build/envsetup.sh之前请查看envsetup.sh是否有可执行权限,若没有则需要添加可执行权限。

chmod +x build/envsetup.sh

经过以上操作后,系统就编译好了maple了。

三、开始编译测试代码

要编译成功samples 下的helloworld.java  还需要做如下修改

1)、修改 build/core/java2jar.mk 为如下代码(注:修改前请先备份)

$(APP_JAR): %.jar : %.java $(JAVA2JAR) $(APP_JAR)  $(wildcard *.java)

也就是将里面的

${MAPLE_ROOT}/libjava-core/java-core.jar

删除,让它不依赖于这个输入文件

2)、修改 build/core/jbc2mpl.mk 为如下代码(注:修改前请先备份)

$(APP_MPL): %.mpl : %.jar $(JBC2MPL_BIN) $(JBC2MPL_BIN) -injar ${MAPLE_ROOT}/libjava-core/java-core.jar -injar $(APP_JAR) -out $(APP)

用java-core.jar 替换 libjava-core.mplt 也就是$(LIB_MPLT)

3)、 修改out/bin/java2jar 为如下代码

#!/bin/bash OUTPUT=$1 CORE_ALL_JAR=$2 JAVA_FILE=$2 shift 2 javac -g -d . ${JAVA_FILE} #javac -g -d . -bootclasspath ${CORE_ALL_JAR} $@ jar -cvf ${OUTPUT} *.class

4)、 修改src/bin/java2jar 为如下代码

#!/bin/bash OUTPUT=$1 CORE_ALL_JAR=$2 JAVA_FILE=$2 shift 2 javac -g -d . ${JAVA_FILE} #javac -g -d . -bootclasspath ${CORE_ALL_JAR} $@ jar -cvf ${OUTPUT} *.class

5)、  最后需要下载我们一直在讨论的java-core.jar 库

下载地址如下:https://gitee.com/mirrors/java-core

在${MAPLE_ROOT}方舟编译器源码所放的根目录下mkdir创建libjava-core目录,并将下载的java-core.jar 库放到此目录下。

6)、进入samples/helloworld目录下

make 就可以了,没有报什么错误,并且在本目录下生成了一些必要的文件了。

人工智能 python 软件开发云 AI

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Oracle-常用监控SQL语句,DBA必备
下一篇:【小白学习C++ 教程】九、C++中字符型、字符串和转义字符
相关文章