The compilation fails, and **usr/sbin/ninja: invalid option -- w** is displayed.
The compilation fails, and **usr/sbin/ninja: invalid option -- w** is displayed.
-**Possible Causes**
The Ninja version in the compilation environment is outdated and does not support the **--w** option.
The Ninja version in the compilation environment is outdated and does not support the --w option.
-**Solution**
...
...
@@ -23,16 +24,18 @@ The Ninja version in the compilation environment is outdated and does not suppor
-**Symptom**
The compilation fails, and **/usr/bin/ld: cannot find -lncurses** is displayed.
The compilation fails, and **/usr/bin/ld: cannot find -lncurses** is displayed.
-**Possible Causes**
The ncurses library is not installed.
The ncurses library is not installed.
-**Solution**
```
Run **sudo apt-get install lib32ncurses5-dev** to install the library.
sudo apt-get install lib32ncurses5-dev
```
...
...
@@ -40,16 +43,18 @@ The ncurses library is not installed.
-**Symptom**
The compilation fails, and **line 77: mcopy: command not found** is displayed.
The compilation fails, and **line 77: mcopy: command not found** is displayed.
-**Possible Causes**
Mcopy is not installed.
Mcopy is not installed.
-**Solution**
```
Run **sudo apt-get install dosfstools mtools** to install mcopy.
sudo apt-get install dosfstools mtools
```
...
...
@@ -57,40 +62,43 @@ Mcopy is not installed.
-**Symptom**
The compilation fails, and the following information is displayed: **riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory**.
The compilation fails, and the following information is displayed: **riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory**.
-**Possible Causes**
Permission is required to access files in the **riscv** compiler path.
Permission is required to access files in the **riscv** compiler path.
-**Solution**
Run the following command to query the directory where **gcc_riscv32** is located:
1. Run the following command to query the directory where **gcc_riscv32** is located:
```
which riscv32-unknown-elf-gcc
```
```
Run the **chmod** command to change the directory permission to **755**.
2.Run the **chmod** command to change the directory permission to **755**.
### "No module named 'Crypto'" Displayed During the Build Process
-**Symptom**
The compilation fails, and **No module named'Crypto loaded** is displayed.
The compilation fails, and **No module named'Crypto loaded** is displayed.
-**Possible Causes**
Crypto is not installed in Python3.
Crypto is not installed in Python3.
-**Solution**
1. Run the following command to query the Python version:
```
```
python3 --version
```
```
2. Ensure that Python 3.7 or later is installed, and then run the following command to install pycryptodome:
```
...
...
@@ -102,11 +110,13 @@ Crypto is not installed in Python3.
-**Symptom**
The compilation fails, and **xx.sh [: xx unexpected operator** is displayed.
The compilation fails, and **xx.sh [: xx unexpected operator** is displayed.
-**Possible Causes**
The compilation environment is shell instead of bash.
The compilation environment is shell instead of bash.
-**Solution**
...
...
@@ -120,28 +130,31 @@ The compilation environment is shell instead of bash.
-**Symptom**
The following error occurs during compilation and building:
The following error occurs during compilation and building:
```
Could not find a version that satisfies the requirement six>=1.9.0
```
```
-**Possible Causes**
**six** is not installed.
**six** is not installed.
-**Solution**
Solution 1: Run the **pip3 install six** command to install **six** online.
Method 2: Offline installation
Method 1: Run the **pip3 install six** command to install **six** online.
Method 2: Offline installation
Download the installation package from [PyPI](https://pypi.org/project/six/#files).
Download the installation package from [PyPI](https://pypi.org/project/six/#files).