harmony 鸿蒙Compilation and Building
Compilation and Building
Mini and Small Systems
“usr/sbin/ninja: invalid option – w”
- Symptom
The build fails, and usr/sbin/ninja: invalid option – w is displayed.
- Possible Causes
The Ninja version in use does not support the –w option.
- Solution
Uninstall Ninja and GN, and install Ninja and GN of the required version.
”/usr/bin/ld: cannot find -lncurses”
- Symptom
The build fails, and /usr/bin/ld: cannot find -lncurses is displayed.
- Possible Causes
The ncurses library is not installed.
- Solution
sudo apt-get install lib32ncurses5-dev
“line 77: mcopy: command not found”
- Symptom
The build fails, and line 77: mcopy: command not found is displayed.
- Possible Causes
mcopy is not installed.
- Solution
sudo apt-get install dosfstools mtools
“riscv32-unknown-elf-gcc: error trying to exec ‘cc1’: execvp: No such file or directory”
- Symptom
The build fails, and the following information is displayed:
riscv32-unknown-elf-gcc: error trying to exec ‘cc1’: execvp: No such file or directory
- Possible Causes
You do not have the required permission to access files in the RISC-V compiler directory.
Solution
- Run the following command to locate gcc_riscv32:
which riscv32-unknown-elf-gcc
- Run the chmod command to change the directory permission to 755.
“No module named ‘Crypto’”
- Symptom
The build fails, and No module named ‘Crypto’ is displayed.
- Possible Causes
Crypto is not installed in Python3.
Solution
- Run the following command to query the Python version:
python3 --version
- Ensure that Python 3.7 or later is installed, and then run the following command to install pycryptodome:
sudo pip3 install pycryptodome
“xx.sh: xx unexpected operator”
- Symptom
The build fails, and xx.sh [: xx unexpected operator is displayed.
- Possible Causes
The build environment shell is not bash.
- Solution
sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh
“Could not find a version that satisfies the requirement six>=1.9.0”
- Symptom
The following information is displayed during the build process:
Could not find a version that satisfies the requirement six>=1.9.0
- Possible Causes
six is not installed.
- Solution
Method 1: Run the pip3 install six command to install six online.
Method 2: Install six offline.
- Download the installation package from PyPI.
Save the source code to the Linux server and run the pip3 install six-1.14.0-py2.py3-none-any.whl command to install six.
Start the build again.
“cannot find -lgcc”
- Symptom
The following information is displayed during the build process:
riscv32-unknown-elf-ld: cannot find -lgcc
- Possible Causes
The gcc_riscv32 path is incorrectly set as follows. There is an extra slash (/) after bin.
~/gcc_riscv32/bin/:/data/toolchain/
- Solution
Modify the gcc_riscv32 path as follows:
~/gcc_riscv32/bin:/data/toolchain/
Failed to Find Python
- Symptom
The following information is displayed during the build process:
-bash: /usr/bin/python: No such file or directory
- Possible Cause 1
Python is not installed.
- Solution
Run the following command to install Python. The following uses Python 3.8 as an example.
sudo apt-get install python3.8
- Possible Cause 2
The soft link to Python does not exist in the usr/bin directory.
- Solution
Run the following commands to add the soft link to Python:
# cd /usr/bin/
# which python3
# ln -s /usr/local/bin/python3 python
# python --version
Example:
Failed to Find Python3
- Symptom
- Possible Causes
Python 3 is not installed.
- Solution
Run the following command to install Python 3:
sudo apt-get install python3.8
你可能感兴趣的鸿蒙文章
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦