openとcloseハンドラを使ったサンプルコード①のエラー【デバイスドライバ】
Linuxデバイスドライバプログラミングを参考に実装をしたところエラーが発生したので記録しておく。
P.117-120の"openとcloseハンドラを使ったサンプルコード①"を打ち込み、
makeを実行したところ下記のエラーが発生した。
$ make make -C /lib/modules/3.11.0-15-generic/build M=/home/cherno/devicedriver modules make[1]: ディレクトリ `/usr/src/linux-headers-3.11.0-15-generic' に入ります scripts/Makefile.build:49: *** CFLAGS was changed in "/home/cherno/devicedriver/Makefile". Fix it to use ccflags-y. 中止. make[1]: *** [_module_/home/cherno/devicedriver] エラー 2 make[1]: ディレクトリ `/usr/src/linux-headers-3.11.0-15-generic' から出ます make: *** [all] エラー 2
CFLAGSが変化したことでエラーが発生しているとのこと。
CFLAGS変数に「-Wall」オプションを指定すると
危ういコードに対して警告を出力してくれるらしいのですが、
CFLAGSが変化したことが問題だったのでコメントアウトしたところエラーが解決された。
$ make make -C /lib/modules/3.11.0-15-generic/build M=/home/cherno/devicedriver/devone modules make[1]: ディレクトリ `/usr/src/linux-headers-3.11.0-15-generic' に入ります CC [M] /home/cherno/devicedriver/devone/devone.o LD [M] /home/cherno/devicedriver/devone/sample.o Building modules, stage 2. MODPOST 1 modules CC /home/cherno/devicedriver/devone/sample.mod.o LD [M] /home/cherno/devicedriver/devone/sample.ko make[1]: ディレクトリ `/usr/src/linux-headers-3.11.0-15-generic' から出ます $ ls Makefile devone.c modules.order sample.mod.c sample.o Module.symvers devone.o sample.ko sample.mod.o
CFLAGSの変化を許可する設定にできるのが最善だが、
その方法が不明だったのでコメントアウトでお茶を濁した。
どうすればCFLAGSが変化しても大丈夫になるのだろう?
- 作者: 平田豊
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2008/06/28
- メディア: 大型本
- 購入: 9人 クリック: 299回
- この商品を含むブログ (29件) を見る