Kali LinuxにRosewill RNX-N600UBEワイヤレスカード(Ralink RT2870チップセット)用のドライバをインストールしようとしています。そのウェブサイトからドライバをダウンロードして解凍しましたが、「make」コマンドを実行しようとするとこのエラーが発生します。
/home/fox/System/2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO/os/linux/../../os/linux/rt_linux.c:1156:20: error: incompatible types when assigning to type ‘int’ from type ‘kuid_t’
/home/fox/System/2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO/os/linux/../../os/linux/rt_linux.c:1157:20: error: incompatible types when assigning to type ‘int’ from type ‘kgid_t’
make[4]: *** [/home/fox/System/2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO/os/linux/../../os/linux/rt_linux.o] Error 1
make[3]: *** [_module_/home/fox/System/2011_0427_RT3572_Linux_STA_v2.5.0.0.DPO/os/linux] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [all] Error 2
ベストアンサー1
問題は、最近の3.xカーネルでカーネルヘッダ/インタフェースの1つが変更されたことです。 UID/GID の値はもともと正規整数と呼ばれていましたが、今は単一要素を持つ構造です。以前の定義に依存するすべてのコードは、新しいカーネルヘッダーと一致するように更新されるまでコンパイルされません。
現在、Ubuntuのインストールのためにvirtualbox-guest-utilsで同様のバグをパッチしようとしています。理論的には、エラーに報告された行番号で->i_uid =
with->i_uid.val =
またはwith->i_gid =
のインスタンスを見つけて置き換えることで->i_gid.val =
問題は解決されます(しかしそれはできません)。この時点で、関係のない他のエラーが原因でコンパイルが失敗したことを保証します。
最善の方法は、コードの元の作成者に連絡して、最新のカーネルのソースコードの更新版を入手することです。