こんにちは
LKMの作成で躓いているのでお力をお貸しください
OS: Debian4.0 r6
kernel: 2.6.18-6-686
GCC: 4.1.2
[ソース: message.c]
#include <linux/module.h>
#include <kernel.h>
#include <linux/init.h>
static int __init init_module(void)
{
printk(KERN_INFO "loaded\n");
return 0;
}
static void __exit cleanup_module(void)
{
printk(KERN_INFO "removed\n");
}
module_init(init_module);
module_exit(cleanup_module);
[コンパイル結果]
make -C /lib/modules/2.6.18-6-686/build M=/home/user/lkm modules
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.18-6-686' に入ります
CC [M] /home/user/lkm/message.o
/home/user/lkm/message.c:6: error: static declaration of 'init_module' follows non-static declaration
include/linux/module.h:65: error: previous declaration of 'init_module' was here
/home/user/lkm/message.c:12: error: static declaration of 'cleanup_module' follows non-static declaration
include/linux/module.h:66: error: previous declaration of 'cleanup_module' was here
/home/user/lkm/message.c:16: error: redefinition of 'init_module'
/home/user/lkm/message.c:6: error: previous definition of 'init_module' was here
/home/user/lkm/message.c:17: error: redefinition of 'cleanup_module'
/home/user/lkm/message.c:12: error: previous definition of 'cleanup_module' was here
make[2]: *** [/home/user/lkm/message.o] エラー 1
make[1]: *** [_module_/home/user/lkm] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.18-6-686' から出ます
make: *** [default] エラー 2
初歩的な質問で申し訳ないですが
エラー冒頭のstatic declaration of ...というエラーが直せなくて困っております。
どなたかお分かりになる方、お力をお貸しください
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
関数の名前の付け方が悪いです。
init_module,cleanup_moduleはlsmod,rmmodの時に呼び出される関数ですので別の名前をつけましょう。
init_module_aaa, cleanup_module_aaa などすればコンパイルが通るようになります。(もっときちんした名前をつけるべきですが‥‥)
また、<linux/init.h>を使わずに
int init_module(void)
{
}
void cleanup_module(void)
{
}
と書くこともできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー WindowsでApache が起動しない 1 2022/11/29 12:21
- Ruby pythonエラー 4 2022/11/11 19:12
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Ruby パイソンエラーについて 1 2022/12/24 14:07
- その他(プログラミング・Web制作) cryptcatのビルド 4 2022/07/21 14:55
- その他(プログラミング・Web制作) pythonのエラーについて 2 2022/08/17 17:17
- その他(プログラミング・Web制作) RaspberryPi Pico MicroPythonでLCDを使うことについて 1 2023/04/20 09:04
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- その他(プログラミング・Web制作) python のヘルプの疑問。 1 2022/12/11 14:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
gccのインクルードパスの確認
-
makeコマンドができない
-
Openldapインストールmake test...
-
Apacheで「 magicの」 PATH
-
Debian玄箱にドライバコンパイ...
-
make の$(shell ) コマンドが動...
-
ダウンロードファイルなどは、...
-
Debianでのmakeコマンドインス...
-
Apacheのバージョンアップ方法
-
apachectlが使えない
-
cygwinでX-window
-
linuxの/usr/includeについて
-
make pycaffe実行時に発生する#...
-
OpensslのVer.ダウン
-
PROMISE TX4000 RAIDドライバー...
-
ubuntu 初期化について
-
Ubuntu on Xorgのログインについて
-
パソコンでゲームをプレイしよ...
-
Fedora32でUSB Wi-Fiを使いたい
-
*長文となっております、予めご...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccのインクルードパスの確認
-
makeコマンドができない
-
He had his daughter make some...
-
*** ターゲット `all' を make ...
-
Linuxのgccのインクルードパス?
-
make でエラー
-
macos での /usr/local/lib と...
-
glibcバージョンアップ
-
Mac上でPythonのtkinterを使っ...
-
perlのダウングレード方法
-
ソースからmakeした場合の削除方法
-
OpensslのVer.ダウン
-
ダウンロードファイルなどは、...
-
Solaris10でCコンパイラが見...
-
Apacheのバージョンアップ方法
-
Debianでのmakeコマンドインス...
-
C言語ファイルのコンパイルがで...
-
Apache2.2.4のmod_authnz_ldap
-
linuxの/usr/includeについて
-
configure error
おすすめ情報