# 获取源码及Ubuntu编译环境准备 - [获取软件](#section1897711811517) - [获取源码](#section1545225464016) - [安装必要的库和工具](#section108201740181219) - [安装Python3](#section1238412211211) - [安装LLVM\(仅OpenHarmony\_v1.x分支/标签需要\)](#section12202192215415) - [安装hb](#section15794154618411) - [前提条件](#section1083283711515) - [安装方法](#section11518484814) - [卸载方法](#section3512551574) 系统要求:Ubuntu16.04及以上64位系统版本。 编译环境搭建包含如下几步: 1. 获取源码 2. 安装必要的库和工具 3. 安装python3 4. 安装LLVM\(仅OpenHarmony\_v1.x分支/标签需要\) 5. 安装hb >![](../public_sys-resources/icon-notice.gif) **须知:** >- 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考[Docker方式获取编译环境](../get-code/gettools-acquire.md#section107932281315)。 >- 通常系统默认安装samba、vim等常用软件,需要做适当适配以支持Linux服务器与Windows工作台之间的文件共享。 >- 想要详细了解OpenHarmony编译构建模块功能的开发者可参考[编译构建使用指南](../subsystems/subsys-build-mini-lite.md)。 ## 获取软件 Linux服务器通用环境配置需要的工具及其获取途径如下表所示: **表 1** Linux服务器开发工具及获取途径

开发工具

用途

获取途径

源码

功能开发

参考源码获取

必要的库和工具

编译所需的必要工具和库(如打包、镜像制作等)

通过互联网获取

Python3.7+

编译构建工具

通过互联网获取

LLVM(仅OpenHarmony_v1.x分支/标签需要)

编译工具链

通过互联网获取

hb

OpenHarmony编译构建命令行工具

通过互联网获取

>![](../public_sys-resources/icon-notice.gif) **须知:** >- 如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja编译工具。 >- (推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、LLVM编译工具。安装gn、ninja、LLVM编译工具时,请确保编译工具的环境变量路径唯一。 ## 获取源码 开发者需要在Linux服务器上下载并解压一套源代码,请参见[源码获取](../get-code/sourcecode-acquire.md)。 ## 安装必要的库和工具 使用如下apt-get命令安装编译所需的必要的库和工具: ``` sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi ``` ## 安装Python3 1. 打开Linux编译服务器终端。 2. 输入如下命令,查看python版本号: ``` python3 --version ``` 如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。 1. 运行如下命令,查看Ubuntu版本: ``` cat /etc/issue ``` 1. 根据Ubuntu不同版本,安装python。 - 如果Ubuntu 版本为18+,运行如下命令。 ``` sudo apt-get install python3.8 ``` - 如果Ubuntu版本为16。 a. 安装依赖包 ``` sudo apt update && sudo apt install software-properties-common ``` b. 添加deadsnakes PPA 源,然后按回车键确认安装。 ``` sudo add-apt-repository ppa:deadsnakes/ppa ``` c. 安装python3.8 ``` sudo apt upgrade && sudo apt install python3.8 ``` 3. 设置python和python3软链接为python3.8。 ``` sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 ``` 4. 安装并升级Python包管理工具(pip3),任选如下一种方式。 - **命令行方式:** ``` sudo apt-get install python3-setuptools python3-pip -y sudo pip3 install --upgrade pip ``` - **安装包方式:** ``` curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py ``` ## 安装LLVM\(仅OpenHarmony\_v1.x分支/标签需要\) >![](../public_sys-resources/icon-notice.gif) **须知:** >如果下载的源码为OpenHarmony\_v1.x分支/标签, 请按下面的步骤安装9.0.0版本的llvm。 >如果下载的源码为Master及OpenHarmony\_v2.x分支/标签,可直接跳过本小节,hb会自动下载最新的llvm。 1. 打开Linux编译服务器终端。 2. [下载LLVM工具](https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar)。 3. 解压LLVM安装包至\~/llvm路径下。 ``` tar -zxvf llvm.tar.gz -C ~/ ``` 4. 设置环境变量。 ``` vim ~/.bashrc ``` 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 ``` export PATH=~/llvm/bin:$PATH ``` 5. 生效环境变量。 ``` source ~/.bashrc ``` ## 安装hb ### 前提条件 请先安装Python 3.7.4及以上版本,请见[安装Python3](#section1238412211211)。 ### 安装方法 1. 运行如下命令安装hb ``` python3 -m pip install --user ohos-build ``` 2. 设置环境变量 ``` vim ~/.bashrc ``` 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 ``` export PATH=~/.local/bin:$PATH ``` 执行如下命令更新环境变量。 ``` source ~/.bashrc ``` 3. 执行"hb -h",有打印以下信息即表示安装成功: ``` usage: hb OHOS build system positional arguments: {build,set,env,clean} build Build source code set OHOS build settings env Show OHOS build env clean Clean output optional arguments: -h, --help show this help message and exit ``` ### 卸载方法 ``` python3 -m pip uninstall ohos-build ``` >![](../public_sys-resources/icon-notice.gif) **须知:** >如果安装hb的过程中遇到问题,请参见下文[常见问题](quickstart-lite-env-setup-faqs.md)进行解决。