为什么linux编译不了,为什么编译不能通过?请大侠帮忙

#endif

#include static __init int init_module(void)

{

printk(KERN_DEBUG "Hello, kernel!\n");

return (0);

}

static __exit void cleanup_module(void)

{

printk(KERN_DEBUG "Good-bye, kernel!\n");

}

/****************************************************************/

书上的编译命令是:

gcc -D__KERNEL__ -I /usr/src/linux/include/ -DMODULE -Wall -O2 -c d_hello.c -o hello.o

由于我/usr/src/下没有linux目录,所以我改成了:

gcc -D__KERNEL__ -I /usr/src/kernels/2.6.26.3-29.fc9.i686/include/ -DMODULE -Wall -O2 -c d_hello.c -o hello.o

结果报了一堆错:

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/prefetch.h:14,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/list.h:6,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:9,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:112: error: ‘CONFIG_X86_L1_CACHE_SHIFT’ undeclared here (not in a function)

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:112: error: requested alignment is not a constant

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/prefetch.h:14,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/list.h:6,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:9,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:152:1: warning: "cache_line_size" redefined

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/pda.h:7,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/current_64.h:7,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/current.h:4,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:15,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/prefetch.h:14,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/list.h:6,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:9,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/cache.h:64:1: warning: this is the location of the previous definition

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h: In function ‘load_cr3’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:187: error: ‘CONFIG_PAGE_OFFSETUL’ undeclared (first use in this function)

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:187: error: (Each undeclared identifier is reported only once

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:187: error: for each function it appears in.)

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h: At top level:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/processor.h:236: error: requested alignment is not a constant

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/thread_info.h:5,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/thread_info.h:47,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/preempt.h:9,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/spinlock.h:49,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/seqlock.h:29,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/time.h:8,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/stat.h:60,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:10,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/thread_info_64.h: In function ‘current_thread_info’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/thread_info_64.h:66: error: ‘THREAD_SIZE’ undeclared (first use in this function)

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/thread_info_64.h: In function ‘stack_thread_info’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/thread_info_64.h:74: error: ‘THREAD_SIZE’ undeclared (first use in this function)

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/elf.h:7,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:14,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h: In function ‘elf_common_init’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:166: error: ‘struct pt_regs’ has no member named ‘r8’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:166: error: ‘struct pt_regs’ has no member named ‘r9’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:166: error: ‘struct pt_regs’ has no member named ‘r10’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:166: error: ‘struct pt_regs’ has no member named ‘r11’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:167: error: ‘struct pt_regs’ has no member named ‘r12’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:167: error: ‘struct pt_regs’ has no member named ‘r13’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:167: error: ‘struct pt_regs’ has no member named ‘r14’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/elf.h:167: error: ‘struct pt_regs’ has no member named ‘r15’

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/mmzone.h:16,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/gfp.h:4,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/slab.h:12,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/percpu.h:5,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/local.h:4,

from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:19,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/nodemask.h: In function ‘__first_node’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/nodemask.h:233: warning: implicit declaration of function ‘find_first_bit’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/nodemask.h: In function ‘__next_node’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/nodemask.h:239: warning: implicit declaration of function ‘find_next_bit’

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/nodemask.h: In function ‘__first_unset_node’:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/nodemask.h:257: warning: implicit declaration of function ‘find_first_zero_bit’

In file included from /usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:21,

from d_hello.c:9:

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/asm/module.h:70:2: error: #error unknown processor family

d_hello.c: At top level:

d_hello.c:22: error: static declaration of ‘init_module’ follows non-static declaration

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:74: error: previous declaration of ‘init_module’ was here

d_hello.c: In function ‘init_module’:

d_hello.c:24: warning: implicit declaration of function ‘printtk’

d_hello.c: At top level:

d_hello.c:28: error: static declaration of ‘cleanup_module’ follows non-static declaration

/usr/src/kernels/2.6.26.3-29.fc9.i686/include/linux/module.h:75: error: previous declaration of ‘cleanup_module’ was here

请哥哥姐姐们帮我看看应该怎样才能编译通过这段代码

[本帖最后由 WillingHeart 于 2008-9-25 23:25 编辑]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值