make[2]: *** [子make] 错误2 make[1]: *** [全部] 错误2

make[2]: *** [子make] 错误2 make[1]: *** [全部] 错误2

我尝试在我的 OpenMediaVault 服务器上安装 MADWIFI。还需要更多信息吗?

每次我输入时都会收到此错误make

root@NAS2024:/media/5703066A59887FF7/Dsys/madwifi-0.9.4# make
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.32-5-amd64/build SUBDIRS=/media/5703066A59887FF7/Dsys/madwifi-0.9.4 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
  CC [M]  /media/5703066A59887FF7/Dsys/madwifi-0.9.4/ath/if_ath.o
/media/5703066A59887FF7/Dsys/madwifi-0.9.4/ath/if_ath.c:1: error: bad value (armv4) for -march= switch
make[5]: *** [/media/5703066A59887FF7/Dsys/madwifi-0.9.4/ath/if_ath.o] Error 1
make[4]: *** [/media/5703066A59887FF7/Dsys/madwifi-0.9.4/ath] Error 2
make[3]: *** [_module_/media/5703066A59887FF7/Dsys/madwifi-0.9.4] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-amd64'
make: *** [modules] Fehler 2

为什么会出现这个错误?

答案1

查看有关如何为其他架构交叉编译 MadWifi 驱动程序的详细信息。例如,在您的情况下,您尝试为 ARM4 进行编译,尽管可能不是故意的。

摘抄

交叉编译

构建系统旨在支持交叉编译,无需对分发文件进行任何修改。在 make 命令行上指定任何参数就足够了。

大多数情况下,只需要定义 KERNELPATH 和 CROSS_COMPILE。 CROSS_COMPILE 是交叉编译工具的前缀。例如,如果交叉编译器名为arm-linux-gcc,则将CROSS_COMPILE设置为“arm-linux-”:

    $ make KERNELPATH=/usr/src/linux-arm CROSS_COMPILE=arm-linux-

构建系统根据 Linux 构建树中的 .config 文件确定 ARCH 和 TARGET。一些不常见的系统仍然可能需要在命令行上提供TARGET。如果 ARCH 确定错误,请报告。

相关内容