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がエラーを検出した場合は報告してください。