make[2]: *** [submake] エラー 2 make[1]: *** [すべて] エラー 2

make[2]: *** [submake] エラー 2 make[1]: *** [すべて] エラー 2

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

おすすめ記事