构建错误常见问题解答

在构建DragonOS时遇到的常见问题及其解决方法。

1. 报错信息指示工具链缺失

question detail

在构建中,如果出现比如xxxx not found这样的报错信息,通常是因为缺少必要的编译工具链。

Answer

如果你之前是可以编译的,但是在拉取最新的代码后,出现了这个错误,那么大概率是因为上游代码更新了对工具链的要求。你可以尝试以下步骤来解决这个问题:

cd tools
bash bootstrap.sh

接着,重启终端并重新运行构建命令。

Note: bootstrap.sh脚本被设计为:“可重复运行”的。他可以在任何时间点运行,把当前最新需要的工具链,安装到你的系统中。

2. 磁盘镜像写入失败了

question detail

  • 构建用户程序的时候,磁盘镜像里面的内容跟实际的不一致。

  • 报错符号链接相关的错误信息

  • 某些应用程序没有正确安装到镜像中

Answer

在构建过程中,如果遇到磁盘镜像写入失败的问题,可能是由于磁盘空间不足或者权限问题。或者是目录属性有些改变。

一种典型的例子,bin/sysroot/xxx下面的某个文件夹是个实际的目录,但是新版的应用程序期望把目录xxx当作一个符号链接来使用。

对于这种情形,你可以先检查自己的应用程序编译的脚本是否有问题。如果确认没有问题,那么可以尝试以下步骤:

  • 删掉bin/目录,然后重新构建。这能够解决大部分的问题。