---
title: 编译工具错误编码
description: "```"
url: https://www.hikunpeng.com/document/detail/zh/flexda/devguide/dpak_dev0063.html
sourcePath: /source/zh/flexda/devguide/dpak_dev0063.html
indexId: 92359808d07ef99c3bc5eacac1dde4531b0a9fa969a6570d7761c3922c944cac44
---
# 编译工具错误编码

#### 编译环境中软件版本不在指定范围内

```
WARN: Please install make, with the requirement that 4.3.0 <= make <=4.4.0
```


该警告不会影响当前编译流程的正常执行，但长期使用非适配版本会导致风险，应安装指定版本。

#### 缺少编程框架工具

```
[build]# make
[ 50%] Building C object src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o
[100%] Linking C static library ../lib/libfullnat.a
/usr/bin/ar: CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o: plugin needed to handle lto object
/usr/bin/ranlib: ../lib/libfullnat.a(fullnat_ovs.hdr.o): plugin needed to handle lto object
[100%] Built target fullnat
File does not exist: "bin_make"
make[2]: *** [CMakeFiles/flash_bin.dir/build.make:70: CMakeFiles/flash_bin] Error 255
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/flash_bin.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


根据安装编程框架开发态软件包重新安装工具。

#### 工具没有执行权限

```
environment: line 632: /home/flexda_sdk/tools/bin_make: Permission denied
```


根据安装编程框架开发态软件包重新安装工具或使用如下命令给相应工具授予权限。

```
chmod +x /home/flexda_sdk/tools/bin_make
```

#### 编译过程中的Hydra语言语法错误

- Hydra语法错误

```
ERROR: terminate called after throwing an instance of 'frontendException::TypeError'
what():  Allowed default actions should be declared in "default_actions" enum. But it was not found.
from Type Checker
At /home/flexda_sdk/example/fullnat/src_dsl/fullnat_ovs.hdr:177:26 Identifier@[/home/flexda_sdk/example/fullnat/src_dsl/fullnat_ovs.hdr:177:26
~
177:37]
default_action = flexda_oncall;
^^^^^^^^^^^
make[2]: *** [src_dsl/CMakeFiles/fullnat.dir/build.make:76: src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o] Error 255
make[1]: *** [CMakeFiles/Makefile2:154: src_dsl/CMakeFiles/fullnat.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


- Hydra找不到头文件

```
[ 50%] Building C object src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o
ERROR: /home/flexda_sdk/example/fullnat/src_dsl/fullnat_ovs.hdr:5:10: fatal error: 'hydra_ovs_arch.hdr' file not found
#include "hydra_ovs_arch.hdr"
^
~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [src_dsl/CMakeFiles/fullnat.dir/build.make:76: src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o] Error 255
make[1]: *** [CMakeFiles/Makefile2:154: src_dsl/CMakeFiles/fullnat.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


应根据Hydra语法内容进行修改。

#### 开启用户固件完整性保护，但是缺少公私钥

```
[build]# make
[ 50%] Building C object src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o
[100%] Linking C static library ../lib/libfullnat.a
/usr/bin/ar: CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o: plugin needed to handle lto object
/usr/bin/ranlib: ../lib/libfullnat.a(fullnat_ovs.hdr.o): plugin needed to handle lto object
[100%] Built target fullnat
ERROR: The provided private key file path does not exist
make[2]: *** [CMakeFiles/flash_bin.dir/build.make:70: CMakeFiles/flash_bin] Error 255
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/flash_bin.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


应在对应文件夹补充公私钥。

#### CMake脚本参数配置出错

- 板卡类型填写错误

```
[build]# make
[ 50%] Building C object src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o
ERROR: ResPlaning does not support eth_2x100ge_dpu_aa
make[2]: *** [src_dsl/CMakeFiles/fullnat.dir/build.make:76: src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o] Error 255
make[1]: *** [CMakeFiles/Makefile2:126: src_dsl/CMakeFiles/fullnat.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


  应根据OVS CMake配置进行修改。

- KEY_SWITCH非法设置

```
[build]# make
[ 50%] Building C object src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o
[100%] Linking C static library ../lib/libfullnat.a
/usr/bin/ar: CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o: plugin needed to handle lto object
/usr/bin/ranlib: ../lib/libfullnat.a(fullnat_ovs.hdr.o): plugin needed to handle lto object
[100%] Built target fullnat
ERROR: The variable KEY_SWITCH must be either on or off
make[2]: *** [CMakeFiles/flash_bin.dir/build.make:70: CMakeFiles/flash_bin] Error 255
make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/flash_bin.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


  应根据OVS CMake配置进行修改。

- 版本号格式非法

```
[build]# make
[ 50%] Building C object src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o
ERROR: The version number is incorrect: 17.6.33
make[2]: *** [src_dsl/CMakeFiles/fullnat.dir/build.make:76: src_dsl/CMakeFiles/fullnat.dir/fullnat_ovs.hdr.o] Error 255
make[1]: *** [CMakeFiles/Makefile2:126: src_dsl/CMakeFiles/fullnat.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
```


  应根据OVS CMake配置进行修改。
