1. ホーム

error: 'struct proc_dir_entry' has no member named 'owner' Solution

2022-02-16 18:48:08

Android 4.0ドライバをコンパイルする際、proc_dir_entry構造体のownerメンバを使用しましたが、コンパイルすると以下のエラーが発生します。

drivers/hello/hello.c:217: error: 'struct proc_dir_entry' has no member named 'owner'
make[2]: *** [drivers/hello/hello.o] error 1
make[1]: *** [drivers/hello] Error 2
make: *** [drivers] Error 2






エラーメッセージは、struct proc_dir_entry 構造体に所有者のメンバが見つからなかったことを示しています。

参照されている proc_fs.h ヘッダーファイルを見てみると、確かに struct proc_dir_entry 構造体の内部にオーナメンバーが存在しないことが判明しました。

その構造体に以下のコードを追加してください。

	struct module *owner;





保存して、再コンパイルして、OK。

proc_fs.hファイルは、カーネルソースコード下のinclude/linuxディレクトリにあります。