关于linux内核(3.0.8)编译移植中出现的问题总结

在编译linux内核3.0.8当中出现的问题   交叉编译器版本4.4.6

1.In file included from drivers/usb/host/ehci-hcd.c:124:
drivers/usb/host/ehci.h:747: warning: function declaration isn't a prototype
drivers/usb/host/ehci-hcd.c:1290:2: error: #error "missing bus glue for ehci-hcd"
make[3]: *** [drivers/usb/host/ehci-hcd.o] 错误 1
make[2]: *** [drivers/usb/host] 错误 2
make[1]: *** [drivers/usb] 错误 2
make: *** [drivers] 错误 2

解决方式: make menuconfig-> Device Drivers -> USB support -> EHCI HCD(usb 2.0 support)

2.arch/arm/plat-samsung/built-in.o: In function `s3c_pm_enter':
/opt/EmbedSky/TQ210/Kernel_3.0.8_TQ210_for_Linux_v2.4/arch/arm/plat-samsung/pm.c:316: undefined reference to `s3c_cpu_save'
arch/arm/plat-samsung/built-in.o: In function `s3c_i2c0_set_platdata':
/opt/EmbedSky/TQ210/Kernel_3.0.8_TQ210_for_Linux_v2.4/arch/arm/plat-samsung/dev-i2c0.c:72: undefined reference to `s3c_i2c0_cfg_gpio'
net/built-in.o: In function `tcp_is_local6':
/opt/EmbedSky/TQ210/Kernel_3.0.8_TQ210_for_Linux_v2.4/net/ipv4/tcp.c:3340: undefined reference to `rt6_lookup'
net/built-in.o: In function `tcp_nuke_addr':
/opt/EmbedSky/TQ210/Kernel_3.0.8_TQ210_for_Linux_v2.4/net/ipv4/tcp.c:3363: undefined reference to `in6addr_any'
make: *** [.tmp_vmlinux1] 错误 1
解决方式 :make menuconfig-> Networking support-> Networking option-> 选择 Network packet filtering framework (Netfilter) --->

3.security/commoncap.c: In function 'cap_capable':
security/commoncap.c:90: error: 'AID_NET_RAW' undeclared (first use in this function)
security/commoncap.c:90: error: (Each undeclared identifier is reported only once
security/commoncap.c:90: error: for each function it appears in.)
security/commoncap.c:92: error: 'AID_NET_ADMIN' undeclared (first use in this function)
make[1]: *** [security/commoncap.o] 错误 1
make: *** [security] 错误 2

解决方式 :make menuconfig-> Networking support-> Networking option-> 选择 Only allow certain groups to create sockets 选项

4.出现以下编译错误:
arch/arm/mach-s5pv210/mach-tq210.c:567: error: 'CONFIG_FB_S3C_NR_BUFFERS' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-tq210.c:567: error: 'CONFIG_FB_S3C_NUM_OVLY_WIN' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-tq210.c:567: error: 'CONFIG_FB_S3C_NUM_BUF_OVLY_WIN' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-tq210.c:952: error: variable 'EmbedSky_LCD_fb_data' has initializer but incomplete type
arch/arm/mach-s5pv210/mach-tq210.c:953: error: unknown field 'hw_ver' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:953: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:953: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:954: error: unknown field 'clk_name' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:954: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:954: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:955: error: unknown field 'nr_wins' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:955: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:955: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:956: error: unknown field 'default_win' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:956: error: 'CONFIG_FB_S3C_DEFAULT_WINDOW' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-tq210.c:956: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:956: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:957: error: unknown field 'swap' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:957: error: 'FB_SWAP_WORD' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-tq210.c:957: error: 'FB_SWAP_HWORD' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-tq210.c:957: error: invalid operands to binary | (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:957: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:957: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:972: error: unknown field 'cfg_gpio' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:972: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:972: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:973: error: unknown field 'backlight_on' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:973: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:973: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:974: error: unknown field 'backlight_onoff' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:974: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:974: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c:975: error: unknown field 'reset_lcd' specified in initializer
arch/arm/mach-s5pv210/mach-tq210.c:975: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-tq210.c:975: warning: (near initialization for 'EmbedSky_LCD_fb_data')
arch/arm/mach-s5pv210/mach-tq210.c: In function 'tq210_map_io':
arch/arm/mach-s5pv210/mach-tq210.c:2099: error: invalid use of undefined type 'struct s3c_platform_fb'
arch/arm/mach-s5pv210/mach-tq210.c:2099: warning: initialization from incompatible pointer type
arch/arm/mach-s5pv210/mach-tq210.c:2112: error: invalid operands to binary * (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2112: error: invalid operands to binary + (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2112: error: invalid operands to binary * (have 'int' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2112: warning: assignment makes integer from pointer without a cast
arch/arm/mach-s5pv210/mach-tq210.c:2119: error: invalid operands to binary * (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2119: error: invalid operands to binary + (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2119: error: invalid operands to binary * (have 'int' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2119: error: invalid operands to binary * (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2119: error: invalid operands to binary + (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2119: error: invalid operands to binary * (have 'struct s5p_media_device *' and 'struct s5p_media_device *')
arch/arm/mach-s5pv210/mach-tq210.c:2119: warning: comparison between pointer and integer
arch/arm/mach-s5pv210/mach-tq210.c: In function 'tq210_machine_init':
arch/arm/mach-s5pv210/mach-tq210.c:2253: error: implicit declaration of function 's3c_fb_set_platdata'
make[1]: *** [arch/arm/mach-s5pv210/mach-tq210.o] 错误 1
make: *** [arch/arm/mach-s5pv210] 错误 2
解决方式:make menuconfig-> Device Drivers -> Graphics support-> 选中Support for frame buffer devices ->

5.出现以下编译错误:arm-linux-ld: error: Source object drivers/input/touchscreen/gx801.module has EABI version 5, but target drivers/input/touchscreen/built-in.o has EABI version 0
arm-linux-ld: failed to merge target specific data of file drivers/input/touchscreen/gx801.module
arm-linux-ld: error: Source object drivers/input/touchscreen/gt811.module has EABI version 5, but target drivers/input/touchscreen/built-in.o has EABI version 0
arm-linux-ld: failed to merge target specific data of file drivers/input/touchscreen/gt811.module
make[3]: *** [drivers/input/touchscreen/built-in.o] 错误 1
make[2]: *** [drivers/input/touchscreen] 错误 2
make[1]: *** [drivers/input] 错误 2
make: *** [drivers] 错误 2

解决方式:在网上查资料说是编译器的问题 换一个编译器就能搞定 但是在之前的编译过程中我并没有出现此问题 因此我将内核重新解压编译 就没有这个问题了

猜你喜欢

转载自www.cnblogs.com/lucky-3/p/10063558.html