作者upnpav (Martin Yang)
看板LinuxDev
标题Re: [问题] 编写Hello World Module一直失败 〒△〒
时间Wed May 9 00:34:47 2007
建设你Makefie换成这个 试试
ifneq ($(KERNELRELEASE),)
obj-m := helloMod.o
else
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all \
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
rm -r .tmp_versions *.mod.c .*.cmd *.o
clean:
@ rm *.ko
endif
※ 引述《saap (我是好人囧rz)》之铭言:
: 请教各位高手大大们,
: 小弟试着在Fedora Core 6里编写一个简单的Module,
: 照着书打可是一直出现错误,
: 想烦请大大们帮小弟开释一下,
: 小弟的kernel为2.6.20-1.2944.fc6,
: 谢谢。
: 主Module程式---heloMod.c
: =====================================================
: #include <linux/module.h>
: #include <linux/kernel.h>
: int init_module(void)
: {
: printk("Hello Ryan!\n");
: return 0;
: }
: void cleanup_module(void)
: {
: printk("Hello Module was removed!\n");
: }
: MODULE_LICENSE("GPL");
: =====================================================
: Makefile内容
: =====================================================
: CC=gcc
: CFLAGS = -O2 -DMODULE -D__KERNEL__ -Wall \
: -I/usr/src/kernels/2.6.20-1.2944.fc6-i586/include
: heloMod.o: heloMod.c
: $(CC) $(CFLAGS) -c heloMod.c
: install:
: /sbin/insmod heloMod.o
: remove:
: /sbin/rmmod heloMod
: clean:
: rm -f heloMod.o
: =====================================================
: 执行make後的失败讯息:
: =====================================================
: make: Warning: File `heloMod.c' has modification time 63 s in the future
: gcc -O2 -DMODULE -D__KERNEL__ -Wall
: -I/usr/src/kernels/2.6.20-1.2944.fc6-i586/include -c heloMod.c
: In file included from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/thread_info.h:16,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/thread_info.h:21,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/preempt.h:9,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/spinlock.h:49,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:9,
: from heloMod.c:1:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:82: 错误:「
: CONFIG_X86_L1_CACHE_SHIFT」 未宣告 (不在函式内)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:82: 错误:要求
: 的对齐边界不是常数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h: 在函式 「
: cpuid_count」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:传
: 递参数 1 (属於 「native_cpuid」) 给指标时目的与指标有/无号不一致
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:传
: 递参数 2 (属於 「native_cpuid」) 给指标时目的与指标有/无号不一致
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:传
: 递参数 3 (属於 「native_cpuid」) 给指标时目的与指标有/无号不一致
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/processor.h:617: 警告:传
: 递参数 4 (属於 「native_cpuid」) 给指标时目的与指标有/无号不一致
: 在包含自 /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:51 的
: 档案中,
: 从
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35,
: 从 /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h
: :12,
: 从
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7,
: 从
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15,
: 从 heloMod.c:1:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:33:3: 错误:
: #error You lose.
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:225:31: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:269:46: 错误:
: #if 中用零做除数
: In file included from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:51,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h:12,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15,
: from heloMod.c:1:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: jiffies_to_msecs」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:274: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:274: 错误:(即
: 使在一个函式内多次出现,每个未宣告的识别码在其
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:274: 错误:所
: 在的函式内只报告一次。)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:280:46: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: jiffies_to_usecs」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:285: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:293:46: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: msecs_to_jiffies」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:298: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:306:46: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: usecs_to_jiffies」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:311: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: timespec_to_jiffies」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:330: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:336: 错误:「
: SHIFT_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: jiffies_to_timespec」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:349: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: timeval_to_jiffies」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:371: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:375: 错误:「
: SHIFT_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: jiffies_to_timeval」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:387: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:400:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: jiffies_to_clock_t」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:401: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: clock_t_to_jiffies」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:412: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:431:6: 错误:
: #if 中用零做除数
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h: 在函式 「
: jiffies_64_to_clock_t」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/jiffies.h:432: 错误:「
: CONFIG_HZ」 未宣告 (在此函式内第一次使用)
: In file included from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/aio.h:5,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:262,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h:12,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15,
: from heloMod.c:1:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/workqueue.h: 在函式 「
: cancel_delayed_work」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/workqueue.h:203: 警告:
: 提领类型双关的指标将破坏强重叠规则
: In file included from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/utsname.h:35,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/elf.h:12,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/elf.h:7,
: from
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:15,
: from heloMod.c:1:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h: 在函式 「
: dequeue_signal_lock」 中:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:1316: 警告:隐含
: 宣告函式 「local_irq_save」
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/sched.h:1318: 警告:隐含
: 宣告函式 「local_irq_restore」
: 在包含自 /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/linux/module.h:21 的
: 档案中,
: 从 heloMod.c:1:
: /usr/src/kernels/2.6.20-1.2944.fc6-i586/include/asm/module.h:67:2: 错误:
: #error unknown processor family
: make: *** [heloMod.o] Error 1
: =====================================================
: 麻烦高手大大们替小弟释疑,
: 超感激,
: 谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.75.58.49