Я пытался установить MADWIFI на моем OpenMediaVault-Server. Нужна дополнительная информация?
Я получаю эту ошибку каждый раз, когда ввожу 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-
Система сборки определяет ARCH и TARGET на основе файла .config в дереве сборки Linux. TARGET все еще может потребоваться указать в командной строке для некоторых нестандартных систем. Если ARCH определен неправильно, сообщите об этом.