获取源码及Ubuntu编译环境准备

About 6 min

获取源码及Ubuntu编译环境准备

系统要求:Ubuntu16.04及以上64位系统版本。

编译环境搭建包含如下几步:

  1. 获取源码
  2. 安装必要的库和工具
  3. 安装python3
  4. 安装LLVM(仅OpenHarmony_v1.x分支/标签需要)
  5. 安装hb

须知:

  • 针对Ubuntu编译环境我们提供了对应的Docker,该Docker封装了相关编译工具,选择使用Docker的开发者可跳过此章节。Docker使用可参考Docker方式获取编译环境
  • 通常系统默认安装samba、vim等常用软件,需要做适当适配以支持Linux服务器与Windows工作台之间的文件共享。
  • 想要详细了解OpenHarmony编译构建模块功能的开发者可参考编译构建使用指南

获取软件

Linux服务器通用环境配置需要的工具及其获取途径如下表所示:

表 1 Linux服务器开发工具及获取途径

开发工具

用途

获取途径

源码

功能开发

参考源码获取

必要的库和工具

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

通过互联网获取

Python3.7+

编译构建工具

通过互联网获取

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

编译工具链

通过互联网获取

hb

OpenHarmony编译构建命令行工具

通过互联网获取

须知:

  • 如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja编译工具。
  • (推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、LLVM编译工具。安装gn、ninja、LLVM编译工具时,请确保编译工具的环境变量路径唯一。

获取源码

开发者需要在Linux服务器上下载并解压一套源代码,请参见源码获取

安装必要的库和工具

使用如下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
1

安装Python3

  1. 打开Linux编译服务器终端。

  2. 输入如下命令,查看python版本号:

    python3 --version
    
    1

    如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。

    1. 运行如下命令,查看Ubuntu版本:
    cat /etc/issue
    
    1
    1. 根据Ubuntu不同版本,安装python。
      • 如果Ubuntu 版本为18+,运行如下命令。

        sudo apt-get install python3.8
        
        1
      • 如果Ubuntu版本为16。

        a. 安装依赖包

        sudo apt update && sudo apt install software-properties-common
        
        1

        b. 添加deadsnakes PPA 源,然后按回车键确认安装。

        sudo add-apt-repository ppa:deadsnakes/ppa
        
        1

        c. 安装python3.8

        sudo apt upgrade && sudo apt install python3.8
        
        1
  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
    
    1
    2
  4. 安装并升级Python包管理工具(pip3),任选如下一种方式。

    • 命令行方式:

      sudo apt-get install python3-setuptools python3-pip -y
      sudo pip3 install --upgrade pip
      
      1
      2
    • 安装包方式:

      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python get-pip.py
      
      1
      2

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

须知: 如果下载的源码为OpenHarmony_v1.x分支/标签, 请按下面的步骤安装9.0.0版本的llvm。 如果下载的源码为Master及OpenHarmony_v2.x分支/标签,可直接跳过本小节,hb会自动下载最新的llvm。

  1. 打开Linux编译服务器终端。

  2. 下载LLVM工具

  3. 解压LLVM安装包至~/llvm路径下。

    tar -zxvf llvm.tar.gz -C ~/
    
    1
  4. 设置环境变量。

    vim ~/.bashrc
    
    1

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/llvm/bin:$PATH
    
    1
  5. 生效环境变量。

    source ~/.bashrc
    
    1

安装hb

前提条件

请先安装Python 3.7.4及以上版本,请见安装Python3

安装方法

  1. 运行如下命令安装hb

    python3 -m pip install --user ohos-build
    
    1
  2. 设置环境变量

    vim ~/.bashrc
    
    1

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/.local/bin:$PATH
    
    1

    执行如下命令更新环境变量。

    source ~/.bashrc
    
    1
  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
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

卸载方法

python3 -m pip uninstall ohos-build
1

须知: 如果安装hb的过程中遇到问题,请参见下文常见问题进行解决。