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 確定錯誤,請報告。

相關內容