• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 编译构建常见问题
2
3
4## 轻量和小型系统
5
6
7### 提示“usr/sbin/ninja: invalid option -- w”
8
9- **现象描述:**
10
11  编译失败,提示“usr/sbin/ninja: invalid option -- w”。
12
13- **可能原因:**
14
15  编译环境中ninja版本太低,不支持--w选项。
16
17- **解决办法:**
18
19  卸载环境中ninja和gn,按照[获取工具](../get-code/gettools-ide.md)。
20
21
22### 提示“/usr/bin/ld: cannot find -lncurses”
23
24- **现象描述:**
25
26  编译失败,提示“/usr/bin/ld: cannot find -lncurses”。
27
28- **可能原因:**
29
30  编译环境ncurses库缺失。
31
32- **解决办法:**
33
34  ```
35  sudo apt-get install lib32ncurses5-dev
36  ```
37
38
39### 提示“line 77: mcopy: command not found”
40
41- **现象描述:**
42
43  编译失败,提示“line 77: mcopy: command not found”。
44
45- **可能原因:**
46
47  编译环境未安装mcopy。
48
49- **解决办法:**
50
51  ```
52  ​sudo apt-get install dosfstools mtools
53  ```
54
55
56### 提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”
57
58- **现象描述:**
59
60  编译失败,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。
61
62- ​**可能原因:**
63
64  当前用户对riscv编译器路径下的文件访问权限不够。
65
66- ​**解决办法:**
67
68    查询gcc_riscv32所在目录。
69
70  ```
71  which riscv32-unknown-elf-gcc
72  ```
73
74  使用chmod命令修改目录权限为755。
75
76
77### 提示“No module named 'Crypto'”
78
79- **现象描述:**
80
81  编译失败,提示“No module named 'Crypto'”。
82
83- **可能原因:**
84
85  python3未安装Crypto。
86
87- **解决办法:**
88
89  1. 查询Python版本号。
90
91      ```
92      python3 --version
93      ```
94  2. 需使用python3.7以上版本,然后安装pycryptodome。
95
96      ```
97      sudo pip3 install pycryptodome
98      ```
99
100
101### 提示“xx.sh : xx unexpected operator”
102
103- **现象描述:**
104
105  编译失败:“xx.sh [: xx unexpected operator”。
106
107- **可能原因:**
108
109  编译环境shell不是bash。
110
111- **解决办法:**
112
113  ```
114  sudo rm -rf /bin/sh
115  sudo ln -s /bin/bash /bin/sh
116  ```
117
118
119### 提示“Could not find a version that satisfies the requirement six>=1.9.0”
120
121- **现象描述**
122
123  编译构建过程中出现以下错误:
124
125
126  ```
127  Could not find a version that satisfies the requirement six>=1.9.0
128  ```
129
130- **可能原因**
131
132  环境中未安装合适的“six”。
133
134- **解决办法**
135
136  方法1:通过命令“pip3 install six”,在线安装。
137
138  方法2:离线安装。
139
140  通过网页[https://pypi.org/project/six/#files](https://pypi.org/project/six/#files),下载安装包。
141
142  ![zh-cn_image_0000001251276115](figures/zh-cn_image_0000001251276115.png)
143
144  将源码放置在Linux服务器中,并安装“pip3 install six-1.14.0-py2.py3-none-any.whl”。
145
146  完成上述安装后,重新构建。
147
148
149### 提示找不到“-lgcc”
150
151- **现象描述**
152
153  编译构建过程中出现以下错误:
154
155
156  ```
157  riscv32-unknown-elf-ld: cannot find -lgcc
158  ```
159
160- **可能原因**
161
162  交叉编译器gcc_riscv32的PATH添加错误,如下,在"bin"后多添加了一个“/”,应该删除。
163
164
165  ```
166  ~/gcc_riscv32/bin/:/data/toolchain/
167  ```
168
169- **解决办法**
170
171  重新修改gcc_riscv32的PATH,将多余的“/”删除。
172
173
174  ```
175  ~/gcc_riscv32/bin:/data/toolchain/
176  ```
177
178
179### 提示找不到“python”
180
181- **现象描述**
182
183  编译构建过程中出现以下错误:
184
185
186  ```
187  -bash: /usr/bin/python: No such file or directory
188  ```
189
190- **可能原因**1
191
192  没有装python。
193
194- **解决办法**
195
196  请使用如下命令安装Python,下方以Python3.8为例。
197
198
199  ```
200  sudo apt-get install python3.8
201  ```
202
203- **可能原因2**
204
205  usr/bin目录下没有python软链接
206
207  ![zh-cn_image_0000001243200677](figures/zh-cn_image_0000001243200677.png)
208
209- **解决办法**
210
211  请运行以下命令添加软链接:
212
213
214  ```
215  # cd /usr/bin/
216  # which python3
217  # ln -s /usr/local/bin/python3 python
218  # python --version
219  ```
220
221  例:
222
223  ![zh-cn_image_0000001243320787](figures/zh-cn_image_0000001243320787.png)
224
225
226### 提示找不到“python3”
227
228- **现象描述**
229
230  ![zh-cn_image_0000001251276255](figures/zh-cn_image_0000001251276255.png)
231
232- **可能原因**
233
234  没有装python3。
235
236- **解决办法**
237
238  请使用如下命令安装Python3。
239
240
241  ```
242  sudo apt-get install python3.8
243  ```
244