第一章 环境搭建
安装Ubuntu,推荐使用20.04版本。用户名不能包含中文。
- 参考1:https://laval.csdn.net/648aaf800fa9cc227b4def20.html
- 参考2:https://forums.openharmony.cn/forum.php?mod=viewthread&tid=897&extra=page%3D1&login=from_csdn
1. 改sh为bash
ls -l /bin/sh #如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
sudo dpkg-reconfigure dash #然后选择no
2. 安装OpenHarmony依赖包
sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby openjdk-8-jdk python3-distutils dosfstools mtools libssl-dev libelf-dev genext2fs
pip3 install setuptools kconfiglib
#安装编译hi3861需要的pip包
pip3 install scons ecdsa pycryptodome
pip3 install --upgrade --ignore-installed six
具体所需要的依赖包详细网址可以参考:https://repo.huaweicloud.com/harmonyos/os/2.0/tool_chain/Standard_System.md
3. 安装python3.8和pip
1. which python3.8 #查看python3.8的安装位置
输出: /usr/bin/python3.8 #比如我的安装目录
2. cd /usr/bin #进入python的目录
3. sudo rm python #删除python
4. sudo ln -s /usr/bin/python3.8 python #将python链接到python3.8
5. python --version
OpenHarmony源码一般推荐的编译的环境是ubuntu18.04版本,主要原因是 Ubuntu20.04后,系统动态库版本更新更名。PyTorch 在引入时调用动态库找不到对应的库进而报错。解决方案是设置一个软连接,让系统在查找低版本动态库时,自动打开高版本动态库。操作如下:
首先输入下面命令查询当前动态库版本。根据找不到的动态库名自行更改。
1. ls /lib/x86_64-linux-gnu/libtinfo.so.*
2. /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.6.2
可以看到我们 Ubuntu 20.04 的系统上只有 6 这个版本,而 python 在查找 5 当然找不到。我们设置一个 5 到 6 的软连接即可。
3. sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5
4. sudo apt-get install -y libncursesw5
注意
如果pip下载慢,配置pip包下载源,加速国内安装pip包:
1. mkdir~/.pip/
2. vim ~/.pip/pip.conf
#输入以下内容,改变默认下载的网址
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120