驱动模块编译出错,望各位帮帮忙看是什么原因(makefile和出错原因见帖子)
makefile:ifneq ($(KERNELRELEASE),)
obj-m := IME_test.o
else
KDIR := /home/share/linux-2.6.29
all:
$(MAKE) -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
endif
错误:
make -C /home/share/linux-2.6.29 M=/home/IME_test modules ARCH=arm CROSS_COMPILE=arm-linux-
make: Entering directory `/home/share/linux-2.6.29'
WARNING: Symbol version dump /home/share/linux-2.6.29/Module.symvers
is missing; modules will have no dependencies and modversions.
CC /home/IME_test/IME_test.o
In file included from include/linux/prefetch.h:14,
from include/linux/list.h:6,
from include/linux/kobject.h:20,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/processor.h:109:5: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/irqflags.h:57,
from /home/share/linux-2.6.29/arch/arm/include/asm/system.h:61,
from include/linux/list.h:7,
from include/linux/kobject.h:20,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/irqflags.h:11:5: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/list.h:7,
from include/linux/kobject.h:20,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/system.h:111:5: warning: "__LINUX_ARM_ARCH__" is not defined
/home/share/linux-2.6.29/arch/arm/include/asm/system.h:117:5: warning: "__LINUX_ARM_ARCH__" is not defined
/home/share/linux-2.6.29/arch/arm/include/asm/system.h:121:35: warning: "__LINUX_ARM_ARCH__" is not defined
/home/share/linux-2.6.29/arch/arm/include/asm/system.h:241:5: warning: "__LINUX_ARM_ARCH__" is not defined
/home/share/linux-2.6.29/arch/arm/include/asm/system.h:246:5: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/sysfs.h:18,
from include/linux/kobject.h:21,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/atomic.h:24:5: warning: "__LINUX_ARM_ARCH__" is not defined
/home/share/linux-2.6.29/arch/arm/include/asm/atomic.h:121:2: #error SMP not supported on pre-ARMv6 CPUs
In file included from include/linux/bitops.h:17,
from include/linux/thread_info.h:54,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/kobject.h:23,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:237:5: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/thread_info.h:54,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/kobject.h:23,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
include/linux/bitops.h:125: error: conflicting types for '_find_first_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:162: error: previous declaration of '_find_first_bit_le' was here
include/linux/bitops.h:125: error: conflicting types for '_find_first_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:162: error: previous declaration of '_find_first_bit_le' was here
include/linux/bitops.h:135: error: conflicting types for '_find_first_zero_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:160: error: previous declaration of '_find_first_zero_bit_le' was here
include/linux/bitops.h:135: error: conflicting types for '_find_first_zero_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:160: error: previous declaration of '_find_first_zero_bit_le' was here
include/linux/bitops.h:159: error: conflicting types for '_find_next_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:163: error: previous declaration of '_find_next_bit_le' was here
include/linux/bitops.h:159: error: conflicting types for '_find_next_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:163: error: previous declaration of '_find_next_bit_le' was here
include/linux/bitops.h:169: error: conflicting types for '_find_next_zero_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:161: error: previous declaration of '_find_next_zero_bit_le' was here
include/linux/bitops.h:169: error: conflicting types for '_find_next_zero_bit_le'
/home/share/linux-2.6.29/arch/arm/include/asm/bitops.h:161: error: previous declaration of '_find_next_zero_bit_le' was here
In file included from /home/share/linux-2.6.29/arch/arm/include/asm/thread_info.h:16,
from include/linux/thread_info.h:55,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/kobject.h:23,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/fpstate.h:32:5: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/spinlock.h:88,
from include/linux/kobject.h:23,
from include/linux/device.h:16,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/spinlock.h:4:5: warning: "__LINUX_ARM_ARCH__" is not defined
/home/share/linux-2.6.29/arch/arm/include/asm/spinlock.h:5:2: #error SMP not supported on pre-ARMv6 CPUs
In file included from /home/share/linux-2.6.29/arch/arm/include/asm/page.h:26,
from include/linux/mmzone.h:20,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/glue.h:119:2: #error Unknown data abort handler type
/home/share/linux-2.6.29/arch/arm/include/asm/glue.h:146:2: #error Unknown prefetch abort handler type
In file included from include/linux/mmzone.h:20,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/page.h:108:2: #error Unknown user operations model
In file included from /home/share/linux-2.6.29/arch/arm/include/asm/page.h:189,
from include/linux/mmzone.h:20,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:18:25: mach/memory.h: No such file or directory
In file included from /home/share/linux-2.6.29/arch/arm/include/asm/page.h:189,
from include/linux/mmzone.h:20,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h: In function `virt_to_phys':
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:160: error: `PHYS_OFFSET' undeclared (first use in this function)
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:160: error: (Each undeclared identifier is reported only once
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:160: error: for each function it appears in.)
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h: In function `phys_to_virt':
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:165: error: `PHYS_OFFSET' undeclared (first use in this function)
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h: In function `virt_to_bus':
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:188: error: `PHYS_OFFSET' undeclared (first use in this function)
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h: In function `bus_to_virt':
/home/share/linux-2.6.29/arch/arm/include/asm/memory.h:193: error: `PHYS_OFFSET' undeclared (first use in this function)
In file included from include/linux/notifier.h:14,
from include/linux/memory_hotplug.h:6,
from include/linux/mmzone.h:644,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
include/linux/rwsem.h:22:65: asm/rwsem.h: No such file or directory
In file included from include/linux/memory_hotplug.h:6,
from include/linux/mmzone.h:644,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
include/linux/notifier.h: At top level:
include/linux/notifier.h:62: error: field `rwsem' has incomplete type
In file included from include/linux/smp.h:36,
from include/linux/topology.h:33,
from include/linux/mmzone.h:767,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/smp.h:17:22: mach/smp.h: No such file or directory
In file included from include/linux/timex.h:170,
from include/linux/jiffies.h:8,
from include/linux/ktime.h:25,
from include/linux/timer.h:5,
from include/linux/workqueue.h:8,
from include/linux/slub_def.h:11,
from include/linux/slab.h:153,
from include/linux/percpu.h:5,
from include/linux/rcupdate.h:39,
from include/linux/tracepoint.h:18,
from include/linux/module.h:19,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
/home/share/linux-2.6.29/arch/arm/include/asm/timex.h:15:24: mach/timex.h: No such file or directory
In file included from include/linux/ktime.h:25,
from include/linux/timer.h:5,
from include/linux/workqueue.h:8,
from include/linux/slub_def.h:11,
from include/linux/slab.h:153,
from include/linux/percpu.h:5,
from include/linux/rcupdate.h:39,
from include/linux/tracepoint.h:18,
from include/linux/module.h:19,
from include/linux/device.h:22,
from /home/IME_test/IME_test.c:1:
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: warning: "CLOCK_TICK_RATE" is not defined
include/linux/jiffies.h:257:31: division by zero in #if
include/linux/jiffies.h:257:31: division by zero in #if
make: *** 閿欒? 1
make: *** 閿欒? 2
make: Leaving directory `/home/share/linux-2.6.29'
make: *** 閿欒? 2
说明:在这之前我运行了一下make,报告说缺少两个头文件,说先运行make oldconfig和make prepare,我运行之后再make就出现上面的错误了,
上面报告说缺少一些定义等,但不可能是内核源码出了问题吧,我是在http://www.kernel.org/下载的啊。望各位帮帮忙解决一下。谢谢! 可能是你的交叉编译器建立有点问题 另外一个原因是你的源码树是不是构建得不完整 回复 3# dreamice
交叉编译后,在平台上插入内核,提示Operation not permitted (-1):Operation not permitted. 是什么原因啊。
页:
[1]