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가 오류를 발견하면 이를 보고해 주십시오.