1# 编译异常处理 2 3 4## Linux编译服务器终端输入不识别的命令时提示“ImportError: No module named apt_pkg” 5 6- **现象描述** 7 8 Linux编译服务器终端输入不识别的命令时,提示"ImportError: No module named apt_pkg" 9 10- **可能原因** 11 12 python3 apt安装兼容性问题。 13 14- **解决办法** 15 16 执行如下命令重新安装python3-apt。 17 18 19 ``` 20 sudo apt-get remove python3-apt 21 sudo apt-get install python3-apt 22 ``` 23 24 25## 编译构建过程中,提示找不到“python” 26 27- **现象描述** 28 29 编译构建过程中出现以下错误: 30 31 32 ``` 33 -bash: /usr/bin/python: No such file or directory 34 ``` 35 36- **可能原因**1 37 38 没有装python。 39 40- **解决办法** 41 42 请使用如下命令安装Python,下方以Python3.8为例。 43 44 45 ``` 46 sudo apt-get install python3.8 47 ``` 48 49- **可能原因2** 50 51 usr/bin目录下没有python软链接 52 53 ![faq-python-error](figures/faq-python-error.png) 54 55- **解决办法** 56 57 请运行以下命令添加软链接: 58 59 60 ``` 61 # cd /usr/bin/ 62 # which python3 63 # ln -s /usr/local/bin/python3 python 64 # python --version 65 ``` 66 67 例: 68 69 ![faq-python-add-soft-link](figures/faq-python-add-soft-link.png) 70 71 72## 编译构建过程中,提示找不到“python3” 73 74- **现象描述** 75 76 ![faq-python3-not-found](figures/faq-python3-not-found.png) 77 78- **可能原因** 79 80 没有装python3。 81 82- **解决办法** 83 84 请使用如下命令安装Python3。 85 86 87 ``` 88 sudo apt-get install python3.8 89 ``` 90 91 92## 安装python3过程中,提示“configure: error: no acceptable C compiler found in $PATH” 93 94- **现象描述** 95 96 安装python3过程中出现以下错误: 97 98 99 ``` 100 configure: error: no acceptable C compiler found in $PATH. See 'config.log' for more details 101 ``` 102 103- **可能原因** 104 105 环境中未安装“gcc”。 106 107- **解决办法** 108 1. 通过命令“apt-get install gcc”在线安装。 109 2. 完成后,重新安装python3。 110 111 112## 安装python3过程中,提示“-bash: make: command not found” 113 114- **现象描述** 115 116 安装python3过程中出现以下错误: 117 118 119 ``` 120 -bash: make: command not found 121 ``` 122 123- **可能原因** 124 125 环境中未安装“make”。 126 127- **解决办法** 128 1. 通过命令“apt-get install make”在线安装。 129 2. 完成后,重新安装python3。 130 131 132## 安装python3过程中,提示“No module named '_ctypes'” 133 134- **现象描述** 135 136 安装python3过程中出现以下错误: 137 138 139 ``` 140 ModuleNotFoundError:No module named ‘_ctypes’ 141 ``` 142 143- **可能原因** 144 145 环境中未安装“libffi”和“libffi-devel”。 146 147- **解决办法** 148 1. 通过命令“apt-get install libffi\* -y”,在线安装。 149 2. 完成后,重新安装python3。 150 151 152## 编译构建过程中,提示“No module named 'Crypto'” 153 154- **现象描述** 155 156 编译构建过程中出现以下错误: 157 158 159 ``` 160 ModuleNotFoundError: No module named 'Crypto' 161 ``` 162 163- **可能原因** 164 165 环境中未安装“Crypto”。 166 167- **解决办法** 168 方法1:通过命令“pip3 install Crypto”,在线安装。 169 170 方法2:离线安装。 171 172 通过网页[https://pypi.org/project/pycrypto/#files](https://pypi.org/project/pycrypto/#files),下载源码。 173 174 ![faq-download-pycrypto](figures/faq-download-pycrypto.png) 175 176 将源码放置在Linux服务器中,解压,并安装“python3 setup.py install”。 177 178 完成上述安装后,重新构建。 179 180 181## (Hi3861)编译构建过程中,提示“No module named 'ecdsa'” 182 183- **现象描述** 184 185 编译构建过程中出现以下错误: 186 187 188 ``` 189 ModuleNotFoundError:No module named 'ecdsa' 190 ``` 191 192- **可能原因** 193 194 环境中未安装“ecdsa”。 195 196- **解决办法** 197 方法1:通过命令“pip3 install ecdsa”,在线安装。 198 199 方法2:离线安装 200 201 通过网页[https://pypi.org/project/ecdsa/#files](https://pypi.org/project/ecdsa/#files),下载安装包。 202 203 ![faq-download-ecdsa](figures/faq-download-ecdsa.png) 204 205 将安装包放置Linux服务器中,并安装“pip3 install ecdsa-0.15-py2.py3-none-any.whl”。 206 207 完成上述安装后,重新构建。 208 209 210## (Hi3861)编译构建过程中,提示“Could not find a version that satisfies the requirement six>=1.9.0” 211 212- **现象描述** 213 214 编译构建过程中出现以下错误: 215 216 217 ``` 218 Could not find a version that satisfies the requirement six>=1.9.0 219 ``` 220 221- **可能原因** 222 223 环境中未安装合适的“six”。 224 225- **解决办法** 226 方法1:通过命令“pip3 install six”,在线安装。 227 228 方法2:离线安装。 229 230 通过网页[https://pypi.org/project/six/#files](https://pypi.org/project/six/#files),下载安装包。 231 232 ![faq-download-six](figures/faq-download-six.png) 233 234 将源码放置在Linux服务器中,并安装“pip3 install six-1.14.0-py2.py3-none-any.whl”。 235 236 完成上述安装后,重新构建。 237 238 239## (Hi3861)编译构建过程中,提示找不到“-lgcc” 240 241- **现象描述** 242 243 编译构建过程中出现以下错误: 244 245 246 ``` 247 riscv32-unknown-elf-ld: cannot find -lgcc 248 ``` 249 250- **可能原因** 251 252 交叉编译器gcc_riscv32的PATH添加错误,如下,在"bin"后多添加了一个“/”,应该删除。 253 254 255 ``` 256 ~/gcc_riscv32/bin/:/data/toolchain/ 257 ``` 258 259- **解决办法** 260 261 重新修改gcc_riscv32的PATH,将多余的“/”删除。 262 263 264 ``` 265 ~/gcc_riscv32/bin:/data/toolchain/ 266 ``` 267 268 269## (Hi3861)安装kconfiglib时,遇到lsb_release错误 270 271- **现象描述** 272 273 安装kconfiglib过程中遇到如下错误打印: 274 275 276 ``` 277 subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1. 278 ``` 279 280- **可能原因** 281 282 lsb_release模块基于的python版本与现有python版本不一致。 283 284- **解决办法** 285 286 执行"find / -name lsb_release",找到lsb_release位置并删除,如:"sudo rm -rf /usr/bin/lsb_release"。 287