Skip to content

常见问题

沉默の金 edited this page Jul 31, 2023 · 21 revisions

常见问题

1. build-Image_Builder的编译并生成安装包步骤报错

这个报错原因有很多:

1. 使用了快照分支(main/master)

现在main/master分支部分架构升级到了6.1内核部分内核模块(kmod)或其依赖可能有bug导致无法编译成功,而本仓库默认编译所有内核模块(kmod)导致编译失败。现在可以使用内核模块 (kmod)编译排除列表排除那些内核模块(kmod)。

内核模块(kmod)编译排除列表介绍见:关于kmod编译排除列表

6.1内核已知需要修复的包:

  • dahdi-linux(kmod-dahdi依赖于它)如果编译6.1内核请将内核模块kmod-dahdi添加到内核编译列表
    此问题的修复pr openwrt/telephony#786
此问题的错误日志
  /home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/dahdi-linux-3.1.0/drivers/dahdi/wct4xxp/base.c:45:10: fatal error: stdbool.h: No such file or directory
     45 | #include <stdbool.h>
        |          ^~~~~~~~~~~
  compilation terminated.
  make[6]: *** [scripts/Makefile.build:250: /home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/dahdi-linux-3.1.0/drivers/dahdi/wct4xxp/base.o] Error 1
  make[5]: *** [scripts/Makefile.build:500: /home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/dahdi-linux-3.1.0/drivers/dahdi/wct4xxp] Error 2
  make[4]: Leaving directory '/home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/linux-6.1.41'
  make[4]: *** [Makefile:2012: /home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/dahdi-linux-3.1.0/drivers/dahdi] Error 2
  make[3]: *** [Makefile:74: modules] Error 2
  make[2]: *** [Makefile:110: /home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/dahdi-linux-3.1.0/.built] Error 2
  make[3]: Leaving directory '/home/runner/work/$仓库名/$仓库名/workspace/openwrt/build_dir/target-$软件包目标架构_musl/linux-$目标架构_$子架构/dahdi-linux-3.1.0'
  make[2]: Leaving directory '/home/runner/work/$仓库名/$仓库名/workspace/openwrt/feeds/telephony/libs/dahdi-linux'
  time: package/feeds/telephony/dahdi-linux/compile#0.95#0.22#1.16
      ERROR: package/feeds/telephony/dahdi-linux failed to build.
  make[1]: *** [package/Makefile:120: package/feeds/telephony/dahdi-linux/compile] Error 1
  make[1]: Leaving directory '/home/runner/work/$仓库名/$仓库名/workspace/openwrt'
  make: *** [/home/runner/work/$仓库名/$仓库名/workspace/openwrt/include/toplevel.mk:232: package/compile] Error 2

2. 配置错误

错误在执行安装软件包(make package/install)时出现
报错为make: *** [/home/runner/work/$仓库名/$仓库名/workspace/openwrt/include/toplevel.mk:232: package/install] Error 2 这时你需要向上翻日志才能找到真正的问题 找到Collected errors:一行,*后面的是真正的错误内容,一般在修改配置时不编译 * opkg_install_cmd: Cannot install package $软件包名中的软件包即可

3. 删除了内核模块(kmod)编译排除列表中的sfe

就算要编译sfe也不能删除,因为内核模块(kmod)编译排除列表仅会在添加所有kmod为模块(=m)时进行排除,不影响配置为编译进固件(=y)的sfe。
报错:ERROR: package/cmzj_package/shortcut-fe/shortcut-fe failed to build.
根本原因:build1添加内核补丁与所需内核配置步骤未检测到sfe设为编译进固件所以没打补丁

如你在编译与使用过程中遇到其他问题欢迎提issuediscussions