[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29586] Re: #include<linux/sched.h> のエラー
小川といいます。
Masatoshi Iwasaki <pisogoo@xxxxxxxxx> writes:
> 現在カーネルモジュールを作っているのですが、
> その際Debianに固有の問題なのではと思われるエラー
> に遭遇しました。
>
> 問題を一言でいうと、#include<linux/sched.h>
> の一行を入れると、sched.hもしくはsched.hの
> インクルードするファイルから大量のエラーが出て
> コンパイルが出来ないという現象です。
> ところが、全く同じコードを使ってRedHatLinux6.2J
> 上でコンパイルした場合、全くエラーがでない
> のです。
[...]
> ---------------------Makefile----------------------------
>
> CC=gcc
> MODCFLAGS := -Wall -DMODULE -D__KERNEL__
>
> hello.o: hello.c /usr/include/linux/version.h
> $(CC) $(MODCFLAGS) -c hello.c
>
> clean:
> rm -rf *.o
> --------------------------------------------------------
[...]
>
> RHLで通るので、可能性としては双方のGCCなど関連するソフトの
> バージョン違いかとにらんでいるのですが、以前Debianではkernel
> もオリジナルのkernelに手を加えているという話を聞き、ならば
> kernel周辺にも独自の変更が加えられている可能性もあるな、と
> も考えています。私が何か非常に単純な見落としをしてる可能性も
> あるかもしれませんが。。
うちの potato で試してみました。
下記の変更で、コンパイル出来るようになるみたいです。
MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -I/usr/include
^^^^^^^^^^^^^^
(おそらく、-O も付けないと別な所で、インライン展開ができずにエラーにな
りそうな気がしますが...)
RedHat を使ったことがないのですが、たぶん gcc のディレクトリを見る順番
が違うように思えます。 (specs に違いがあるのかな?)
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>