fuzzy_wushili 发表于 2007-12-19 16:05:11

编译armlinux错误,大家帮帮忙阿!

我用的是linux2.4.18,打好了arm补丁,使用cross2.95.3编译,配置文件选项全是默认。编译时发生:
make: *** 错误 1
make: Leaving directory `/home/armlinux/drivers/video'
make: *** 错误 2
make: Leaving directory `/home/armlinux/drivers/video'
make: *** 错误 2
make: Leaving directory `/home/armlinux/drivers'
make: *** 错误 2
我随后去掉console drivers下的vga text console选项,又出现下列错误:
drivers/char/char.o: In function `vt_ioctl':
drivers/char/char.o(.text+0xa598): undefined reference to `key_maps'
drivers/char/char.o(.text+0xa924): undefined reference to `key_maps'
drivers/char/char.o(.text+0xa92c): undefined reference to `keymap_count'
drivers/char/char.o(.text+0xa948): undefined reference to `func_table'
drivers/char/char.o(.text+0xa950): undefined reference to `funcbufleft'
drivers/char/char.o(.text+0xa954): undefined reference to `funcbufsize'
drivers/char/char.o(.text+0xa958): undefined reference to `funcbufptr'
drivers/char/char.o(.text+0xad4c): undefined reference to `func_table'
drivers/char/char.o(.text+0xad50): undefined reference to `funcbufsize'
drivers/char/char.o(.text+0xad54): undefined reference to `funcbufptr'
drivers/char/char.o(.text+0xad58): undefined reference to `func_buf'
drivers/char/char.o(.text+0xad5c): undefined reference to `funcbufleft'
drivers/char/char.o(.text+0xad60): undefined reference to `accent_table_size'
drivers/char/char.o(.text+0xad64): undefined reference to `accent_table'
drivers/char/char.o: In function `kbd_processkeycode':
drivers/char/char.o(.text+0x14070): undefined reference to `key_maps'
drivers/char/char.o: In function `handle_diacr':
drivers/char/char.o(.text+0x1480c): undefined reference to `accent_table_size'
drivers/char/char.o(.text+0x14810): undefined reference to `accent_table'
drivers/char/char.o: In function `do_fn':
drivers/char/char.o(.text+0x14864): undefined reference to `func_table'
drivers/char/char.o: In function `compute_shiftstate':
drivers/char/char.o(.text+0x14c28): undefined reference to `key_maps'
drivers/char/char.o: In function `do_slock':
drivers/char/char.o(.text+0x14da8): undefined reference to `key_maps'
make: *** 错误 1
大家知道的话一定要帮帮我阿!谢谢!

ksh 发表于 2007-12-20 18:11:36

去掉character device中的virtual terminal 选项

asiavikin 发表于 2007-12-28 17:02:53

我的armlinux版本是2.4.13,我编译时也碰到了你的问题。
我是这么做的:
key_maps、func_table、funcbfsize这些变量都是在defkeymap.c中定义的。不过vt.c和keyboard.c都没有引用defkeymap.c的定义。
在drivers/char/Makefile里检查了一下,发现ifeq($(ARCH),arm)下面的“KEYMAP :=”后面是空白就把defkeymap.o填上去了。然后make zImage编译过了。你可以试试。

phasecool2 发表于 2008-1-12 16:45:52

这个原因是你在配置内核的时候选了 vga的支持 具体在哪个地方 我也记不清了 去掉哪个选项就好了 我以前也遇到过

ltazh 发表于 2009-4-22 13:44:16

回复 2# ksh 的帖子

果真是高手,我也遇到这个问题了。一下就解决了
页: [1]
查看完整版本: 编译armlinux错误,大家帮帮忙阿!