kernel module compiling error
- by wati
sh@ubuntu:/home/ccpp/helloworld$ make
gcc-4.6 -O2 -DMODULE -D_KERNEL_ -W -Wall -Wstrict-prototypes -Wmissing-prototypes -isystem /lib/modules/`uname -r`/build/include -c -o hello-1.o hello-1.c
hello-1.c:4:0: warning: "MODULE" redefined [enabled by default]
<command-line>:0:0: note: this is the location of the previous definition
hello-1.c:6:0: warning: "_KERNEL_" redefined [enabled by default]
<command-line>:0:0: note: this is the location of the previous definition
In file included from /lib/modules/3.2.0-25-generic/build/include/linux/list.h:4:0,
from /lib/modules/3.2.0-25-generic/build/include/linux/module.h:9,
from hello-1.c:7:
/lib/modules/3.2.0-25-generic/build/include/linux/types.h:13:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" [-Wcpp]
In file included from /lib/modules/3.2.0-25-generic/build/include/linux/module.h:9:0,
from hello-1.c:7:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘INIT_LIST_HEAD’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:26:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:27:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘__list_add’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:41:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:42:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:43:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:44:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_add’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:62:28: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_add_tail’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:76:22: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘__list_del’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:88:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:89:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘__list_del_entry’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:101:18: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:101:31: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_del’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:106:18: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:106:31: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:107:7: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:108:7: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_replace’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:125:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:125:17: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:126:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:127:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:127:17: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:128:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_is_last’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:179:13: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_empty’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:188:13: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_empty_careful’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:206:31: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:207:40: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_rotate_left’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:219:15: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_is_singular’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:230:35: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:230:49: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘__list_cut_position’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:236:37: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:237:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:237:19: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:238:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:239:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:240:7: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:241:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:242:11: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_cut_position’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:265:8: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘__list_splice’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:277:32: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:278:31: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:280:7: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:281:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:283:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:284:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_splice’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:296:33: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_splice_tail’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:308:27: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_splice_init’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:322:33: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘list_splice_tail_init’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:339:27: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘INIT_HLIST_NODE’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:572:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:573:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_unhashed’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:578:11: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_empty’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:583:11: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘__hlist_del’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:588:29: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:589:31: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:592:7: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_del’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:598:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:599:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_add_head’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:612:30: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:613:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:615:8: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:615:20: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:616:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:617:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:617:15: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_add_before’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:624:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:624:17: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:625:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:626:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:626:18: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:627:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_add_after’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:633:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:633:16: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:634:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:635:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:635:18: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:637:9: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:638:7: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:638:29: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_add_fake’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:644:3: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:644:15: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h: In function ‘hlist_move_list’:
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:654:5: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:654:18: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:655:9: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:656:6: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:656:27: error: dereferencing pointer to incomplete type
/lib/modules/3.2.0-25-generic/build/include/linux/list.h:657:5: error: dereferencing pointer to incomplete type
In file included from /lib/modules/3.2.0-25-generic/build/include/linux/module.h:12:0,
from hello-1.c:7:
/lib/modules/3.2.0-25-generic/build/include/linux/cache.h: At top level:
/lib/modules/3.2.0-25-generic/build/include/linux/cache.h:5:23: fatal error: asm/cache.h: No such file or directory
compilation terminated.
make: *** [hello-1.o] Error 1
i got this error after compiling an helloworld program
my program is
#define MODULE
#define LINUX
#define _KERNEL_
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
printk("<1>hello World 1.\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT "goodbye world 1.\n");
}
MODULE_LICENSE("GPL");
my make file is:
TARGET := hello-1
WARN := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
INCLUDE := -isystem /lib/modules/`uname -r`/build/include
CFLAGS := -O2 -DMODULE -D_KERNEL_ ${WARN} ${INCLUDE}
CC := gcc-4.6
${TARGET}.o: ${TARGET}.c
.PHONY: clean
clean:
rm -rf ${TARGET}.o
iam usin kernel 3.2.0.25
as novice i can't able to figure out where the problem is
I SEARCHED EVERY THING I CAN TO KNOW ABOUT THIS ERROR
BUT I CANT UNDERSTAND &I GET IRRELEVANT DOCS
anybody help me please