编译构建常见问题
轻量和小型系统
提示“usr/sbin/ninja: invalid option -- w”
-
现象描述:
编译失败,提示“usr/sbin/ninja: invalid option -- w”。
-
可能原因:
编译环境中ninja版本太低,不支持--w选项。
-
解决办法:
卸载环境中ninja和gn,按照获取工具。
提示“/usr/bin/ld: cannot find -lncurses”
-
现象描述:
编译失败,提示“/usr/bin/ld: cannot find -lncurses”。
-
可能原因:
编译环境ncurses库缺失。
-
解决办法:
sudo apt-get install lib32ncurses5-dev
提示“line 77: mcopy: command not found”
-
现象描述:
编译失败,提示“line 77: mcopy: command not found”。
-
可能原因:
编译环境未安装mcopy。
-
解决办法:
sudo apt-get install dosfstools mtools
提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”
-
现象描述:
编译失败,提示“riscv32-unknown-elf-gcc: error trying to exec 'cc1': execvp: No such file or directory”。
-
可能原因:
当前用户对riscv编译器路径下的文件访问权限不够。
-
解决办法:
查询gcc_riscv32所在目录。
which riscv32-unknown-elf-gcc
使用chmod命令修改目录权限为755。
提示“No module named 'Crypto'”
-
现象描述:
编译失败,提示“No module named 'Crypto'”。
-
可能原因:
python3未安装Crypto。
-
解决办法:
-
查询Python版本号。
python3 --version
-
需使用python3.7以上版本,然后安装pycryptodome。
sudo pip3 install pycryptodome
-
提示“xx.sh : xx unexpected operator”
-
现象描述:
编译失败:“xx.sh [: xx unexpected operator”。
-
可能原因:
编译环境shell不是bash。
-
解决办法:
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”
-
现象描述
编译构建过程中出现以下错误:
Could not find a version that satisfies the requirement six>=1.9.0
-
可能原因
环境中未安装合适的“six”。
-
解决办法
方法1:通过命令“pip3 install six”,在线安装。
方法2:离线安装。
通过网页https://pypi.org/project/six/#files,下载安装包。
将源码放置在Linux服务器中,并安装“pip3 install six-1.14.0-py2.py3-none-any.whl”。
完成上述安装后,重新构建。
提示找不到“-lgcc”
-
现象描述
编译构建过程中出现以下错误:
riscv32-unknown-elf-ld: cannot find -lgcc
-
可能原因
交叉编译器gcc_riscv32的PATH添加错误,如下,在"bin"后多添加了一个“/”,应该删除。
~/gcc_riscv32/bin/:/data/toolchain/
-
解决办法
重新修改gcc_riscv32的PATH,将多余的“/”删除。
~/gcc_riscv32/bin:/data/toolchain/
提示找不到“python”
-
现象描述
编译构建过程中出现以下错误:
-bash: /usr/bin/python: No such file or directory
-
可能原因1
没有装python。
-
解决办法
请使用如下命令安装Python,下方以Python3.8为例。
sudo apt-get install python3.8
-
可能原因2
usr/bin目录下没有python软链接
-
解决办法
请运行以下命令添加软链接:
# cd /usr/bin/ # which python3 # ln -s /usr/local/bin/python3 python # python --version
例:
提示找不到“python3”
-
现象描述
-
可能原因
没有装python3。
-
解决办法
请使用如下命令安装Python3。
sudo apt-get install python3.8