• 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- 当前开源版本只涉及32位,官方下载地址为:[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。
132. 解压编译器.
14- 可以参考如下命令完成解压:
15<br>
16		tar -xvf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 -C /opt/buildtools
17
18## 1.3 安装Cmake
191. 通过官网进行下载[Cmake](https://cmake.org/download/),下载指定版本3.20.5
202. 以tar包模式举例说明:
21- 通过命令进行解压:
22- tar -xvf cmake-3.20.5-Linux-x86_64.tar.gz -C /opt/buildtools
23
24## 1.4 安装Python
25##### 下面以python3.8为例介绍安装方法。
261. 通过[官网下载python源码包](https://gitee.com/link?target=https%3A%2F%2Fwww.python.org%2Fftp%2Fpython%2F3.8.5%2FPython-3.8.5.tgz)27
282. 解压源码包。
29  - 参考如下命令完成解压,将压缩包名替换为实际下载的源码包名:
30```
31    tar -xf Python-3.8.5.tgz
32```
333. 检查依赖。
34  - 解压后进入到目录中,执行./configure命令以检查编译与安装python所需的依赖:
35```
36    cd Python-3.8.5
37    ./configure
38```
39- 如果没有报错就继续下一步操作,如果存在报错就根据提示安装依赖。
404. 编译&安装python。
41```
42	sudo make
43	sudo make install
44```
455. 检查python版本并正确链接python命令。
46```
47	python --version
48```
49- 如果显示的不是刚刚安装的python版本,则需要执行以下命令来正确链接python命令。
50
51- a. 获取python目录,例如对于python 3.8.5,执行如下命令。
52
53```
54	which python3.8
55```
56- b. 链接python命令到刚刚安装的python包。
57
58	将以下命令中的 "python3.8-path" 替换为 "which python3.8" 命令执行后的回显路径:
59
60```
61	cd /usr/bin && sudo rm python && sudo ln -s "python3.8-path" python
62```
63- c. 再次检查python版本。
64
65```
66	python --version
67```
68## 1.5 安装pip包管理工具。
69
70##### 如果pip命令不存在,可以下载pip源码包进行安装。pip依赖setuptools,如果setuptools不存在,也需要安装。
71
721. 源码包方式安装:
73
74- 安装setuptools。
75
76- 点击[setuptools源代码包下载地址](https://gitee.com/link?target=https%3A%2F%2Fpypi.org%2Fproject%2Fsetuptools%2F),可以参考下面的命令进行安装:
77
78```
79	sudo unzip setuptools-50.3.2.zip
80	cd setuptools
81	sudo python setup.py install
82```
83
842. 安装pip。
85
86- 点击[pip源代码包下载地址](https://gitee.com/link?target=https%3A%2F%2Fpypi.org%2Fproject%2Fpip%2F),可以参考下面的命令进行安装:
87```
88        sudo tar -xf pip-20.2.4.tar.gz
89        cd pip-20.2.4
90        sudo python setup.py install
91```
92
93## 1.6 Linux下编译流程
94##### 参照上述步骤完成环境搭建后,即可按以下步骤完成编译。
951. 下载UniProton代码
96- git clone https://gitee.com/openeuler/UniProton.git
972. 下载libboundscheck, 按照[指导](../platform/README.md)操作
983. 执行编译
99- 进入到UniProton根目录下执行命令即可
100```
101        python build.py m4
102```
103
104
105# 二、提供镜像,用户自行下载
1061. 在虚拟机操作命令:
107
108	`docker pull swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/uniproton:v001`
109	- 执行完成之后,创建容器并进入(默认挂载当前执行命令的目录为容器内的/home/uniproton目录)
110
111	`docker run -it -v $(pwd):/home/uniproton swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/uniproton:v001`
1122. 下载代码
113    - 下载UniProton代码
114        `git clone https://gitee.com/openeuler/UniProton.git`
115    - 下载libboundscheck, 按照[指导](../platform/README.md)操作
116
1173. 执行编译
118	- 进入到UniProton根目录下执行命令即可
119```
120        python build.py m4
121```
122
123# 三、 编译结果
124	生成的静态库文件存放在output/UniProton/lib/cortex_m4目录下。
125