• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 一、Linux下的编译
2## 1.1 搭建Linux编译环境
3##### 【注】当前所有编译器的安装目录都在/opt/buidltools下,首先需要创建该目录并设置权限:mkdir -p /opt/buildtools && chmod -R 755 /opt/buildtools
4## 软件要求
51. SUSE Linux Enterprise Server
62. python 3.4+
73. Cmake
84. GNU Arm Embedded Toolchain编译器,用于代码编译。
9## 1.2 安装编译器&构建器
10- #### 安装GNU Arm Embedded Toolchain编译器。
111. 下载编译器.
12- cortex_m4版本编译器,官方下载地址为:[GNU Arm Embedded Toolchain编译器](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads),指定版本:10-2020-q4-major。
13- armv8版本编译器,官方下载地址为:[gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz](https://developer.arm.com/-/media/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz)
142. 解压编译器.
15- 可以参考如下命令完成解压:
16```
17		tar -xvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt/buildtools
18		tar -xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz -C /opt/buildtools
19```
20
21## 1.3 安装Cmake
221. 通过官网进行下载[Cmake](https://cmake.org/download/),下载指定版本3.20.5
232. 以tar包模式举例说明:
24- 通过命令进行解压:
25- tar -xvf cmake-3.20.5-Linux-x86_64.tar.gz -C /opt/buildtools
26
27## 1.4 安装Python
28##### 下面以python3.8为例介绍安装方法。
291. 通过[官网下载python源码包](https://gitee.com/link?target=https%3A%2F%2Fwww.python.org%2Fftp%2Fpython%2F3.8.5%2FPython-3.8.5.tgz)30
312. 解压源码包。
32  - 参考如下命令完成解压,将压缩包名替换为实际下载的源码包名:
33```
34    tar -xf Python-3.8.5.tgz
35```
363. 检查依赖。
37  - 解压后进入到目录中,执行./configure命令以检查编译与安装python所需的依赖:
38```
39    cd Python-3.8.5
40    ./configure
41```
42- 如果没有报错就继续下一步操作,如果存在报错就根据提示安装依赖。
434. 编译&安装python。
44```
45	sudo make
46	sudo make install
47```
485. 检查python版本并正确链接python命令。
49```
50	python --version
51```
52- 如果显示的不是刚刚安装的python版本,则需要执行以下命令来正确链接python命令。
53
54- a. 获取python目录,例如对于python 3.8.5,执行如下命令。
55
56```
57	which python3.8
58```
59- b. 链接python命令到刚刚安装的python包。
60
61	将以下命令中的 "python3.8-path" 替换为 "which python3.8" 命令执行后的回显路径:
62
63```
64	cd /usr/bin && sudo rm python && sudo ln -s "python3.8-path" python
65```
66- c. 再次检查python版本。
67
68```
69	python --version
70```
71## 1.5 安装pip包管理工具。
72
73##### 如果pip命令不存在,可以下载pip源码包进行安装。pip依赖setuptools,如果setuptools不存在,也需要安装。
74
751. 源码包方式安装:
76
77- 安装setuptools。
78
79- 点击[setuptools源代码包下载地址](https://gitee.com/link?target=https%3A%2F%2Fpypi.org%2Fproject%2Fsetuptools%2F),可以参考下面的命令进行安装:
80
81```
82	sudo unzip setuptools-50.3.2.zip
83	cd setuptools
84	sudo python setup.py install
85```
86
872. 安装pip。
88
89- 点击[pip源代码包下载地址](https://gitee.com/link?target=https%3A%2F%2Fpypi.org%2Fproject%2Fpip%2F),可以参考下面的命令进行安装:
90```
91        sudo tar -xf pip-20.2.4.tar.gz
92        cd pip-20.2.4
93        sudo python setup.py install
94```
95
96## 1.6 Linux下编译流程
97##### 参照上述步骤完成环境搭建后,即可按以下步骤完成编译。
981. 下载UniProton代码
99- git clone https://gitee.com/openeuler/UniProton.git
1002. 下载libboundscheck, 按照[指导](../platform/README.md)操作
1013. 执行编译
102- 进入到UniProton根目录下执行命令即可
103```
104        python build.py m4
105```
106
107
108# 二、提供镜像,用户自行下载
1091. 在虚拟机操作命令:
110
111	`docker pull swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/uniproton:v002`
112	- 执行完成之后,创建容器并进入(默认挂载当前执行命令的目录为容器内的/home/uniproton目录)
113
114	`docker run -it -v $(pwd):/home/uniproton swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/uniproton:v002`
1152. 下载代码
116    - 下载UniProton代码
117        `git clone https://gitee.com/openeuler/UniProton.git`
118    - 下载libboundscheck, 按照[指导](../platform/README.md)操作
119
1203. 执行编译
121	- 进入到UniProton根目录下执行命令即可
122```
123        python build.py m4
124```
125
126# 三、 编译结果
127	生成的静态库文件存放在output/UniProton/lib/cortex_m4目录下。
128