make[2]: *** [sub-make] Fehler 2 make[1]: *** [all] Fehler 2

make[2]: *** [sub-make] Fehler 2 make[1]: *** [all] Fehler 2

Ich habe versucht, MADWIFI auf meinem OpenMediaVault-Server zu installieren. Benötigen Sie weitere Informationen?

Ich erhalte diesen Fehler jedes Mal, wenn ich Folgendes eingebe 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

Warum ist dieser Fehler aufgetreten?

Antwort1

Sehen Sie sich die Details zum Cross-Compilieren der MadWifi-Treiber für andere Architekturen an. In Ihrem Fall versuchen Sie beispielsweise, für ARM4 zu kompilieren, wenn auch möglicherweise nicht absichtlich.

Auszug

Cross-Kompilierung

Das Build-System ist so konzipiert, dass es Cross-Compiling ohne Änderungen an den Distributionsdateien unterstützt. Es sollte ausreichen, beliebige Parameter in der Make-Befehlszeile anzugeben.

In den meisten Fällen müssen nur KERNELPATH und CROSS_COMPILE definiert werden. CROSS_COMPILE ist das Präfix für Cross-Compiling-Tools. Wenn der Cross-Compiler beispielsweise arm-linux-gcc heißt, setzen Sie CROSS_COMPILE auf „arm-linux-“:

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

Das Build-System bestimmt ARCH und TARGET basierend auf der .config-Datei im Linux-Build-Baum. Bei einigen ungewöhnlichen Systemen muss TARGET möglicherweise noch in der Befehlszeile angegeben werden. Wenn ARCH falsch bestimmt wird, melden Sie es bitte.

verwandte Informationen