make[2]: *** [하위 make] 오류 2 make[1]: *** [all] 오류 2

make[2]: *** [하위 make] 오류 2 make[1]: *** [all] 오류 2

OpenMediaVault-Server에 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가 잘못 결정된 경우 신고해 주세요.

관련 정보