# 构建错误常见问题解答

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


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

### question detail

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

### Answer

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

```shell
cd tools
bash bootstrap.sh
```

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

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

## 2. 磁盘镜像写入失败了

### question detail

- 构建用户程序的时候，磁盘镜像里面的内容跟实际的不一致。
- 报错符号链接相关的错误信息
- 某些应用程序没有正确安装到镜像中

### Answer


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

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

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

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


