make[2]: *** [sub-make] Erro 2 make[1]: *** [todos] Erro 2

make[2]: *** [sub-make] Erro 2 make[1]: *** [todos] Erro 2

Tentei instalar o MADWIFI no meu servidor OpenMediaVault. Mais alguma informação necessária?

Recebo esse erro toda vez que digito 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

Por que esse erro ocorreu?

Responder1

Dê uma olhada nos detalhes sobre como fazer a compilação cruzada dos drivers MadWifi para outras arquiteturas. Como no seu caso, você está tentando compilar para ARM4, embora talvez não intencionalmente.

excerto

Compilação cruzada

O sistema de compilação foi projetado para suportar compilação cruzada sem qualquer modificação nos arquivos de distribuição. Deve ser suficiente especificar quaisquer parâmetros na linha de comando do make.

Na maioria dos casos, apenas KERNELPATH e CROSS_COMPILE precisam ser definidos. CROSS_COMPILE é o prefixo para ferramentas de compilação cruzada. Por exemplo, se o compilador cruzado for chamado arm-linux-gcc, defina CROSS_COMPILE como "arm-linux-":

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

O sistema de compilação determina ARCH e TARGET com base no arquivo .config na árvore de compilação do Linux. TARGET ainda pode precisar ser fornecido na linha de comando em alguns sistemas incomuns. Se o ARCH for determinado incorretamente, informe.

informação relacionada