Deepinlinux上openharmony编译环境搭建
源码版本
根据这几次openharmony源码版本的发布情况看,每个版本都会有很大的变化,所以这里以最新的3.0 LTS版本为倒来说明
硬件环境
目前openharmony支持的开发板还比较少,基本上还是海思的三款;这里以hi3516dv300为例说明(手上用的就是spark AI Camera套件)
官方文档
官方文档描述其实也比较详细了一些,不过当前只支持linux下编译、win下烧录。
- 这样对于公司级用户还可以(可以单独搭建linux编译环境);
- 对个人用户不太友好,因为必须在win上安装一个虚拟机再安装一个linux系统用来编译(或者反过来)
并且官方文档中linux使用的是ubuntu,但是个人有可能使用的deepinlinux、linuxmint等其他发行版,这些虽然也是基于ubuntu的(已经试过ubuntu20.02/linuxmint20.02按官方指导都OK),但是按照官方文件安装还是有可能会有一些问题的,我使用的是deepinlinux,这里记录一下我安装环境时的一些问题
另外,如果是使用官方提供的docker环境,则不涉及这些问题,只要是系统支持docker,并能正常下载官方docker环境镜像即可
deepinlinux搭建编译环境过程的问题
-
环境准备阶段中的库和工具安装
libc6-dev-amd64一直安装失败,报下面问题,我单独安装了提示中依赖的包之后还是一样的问题
安装libc6-dev-amd64失败
后面发现跳过这个包安装也是OK的,只是注意这个包前后的其他包要正常安装(可以将官网的那条命令中的这个包去掉)
sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi
- 安装python3的相关问题
我使用的是deepin 20.2.4社区版,但是无法使用命令直接安装python3.8,只能从官网下载并且通过config/make/make install来安装
这里需要注意:
lsb_release错误.png
我一开始安装了python3.9的最新版本,后面发现不能用,因为编译环境要求python3.8的。。。。老老实实又安装了个python3.8.6的版本,但是安装pip3的时候又出现了错误,如下
解决办法,就是将python3.8下的此文件拷贝到/usr/bin下面
sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/bin
参考
编译环境准备OK之后(hb工具也安装OK);下载代码、编译,发现编译失败;经过一系列尝试,发现是漏了一个开发板环境安装的步骤,里面有一个很重要的步骤,见第3点
- dash一定要改成bash
这一步很容易漏掉,ubuntu为了启动时执行启动脚本快一些,搞了一个dash,但是openharmony编译系统中使用的是bash,所以这里不改的话就会编译报错
说明
- 不想折腾的话,可以直接使用官方提供的docker镜像,很好用,不过比较大
- 习惯在win下面工作的,可以搞个虚拟机安装ubuntu(注意磁盘搞大点,源码就有10G以上。。。),可以按官方操作步骤一步步搞
- 习惯在linux下工作的,希望本篇文档能帮助你:)
- 本文中使用到了网上的一些解决方法,如有侵权,请及时告知