天嵌 ARM开发社区

 找回密码
 注册
查看: 2528|回复: 3

linux内核编译出错

[复制链接]
dengwei3010 发表于 2010-3-10 20:24:22 | 显示全部楼层 |阅读模式
cc1: error: invalid option `abi=aapcs-linux'
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2
网上答案
1)换编译器,

[shiner@localhost linux-2.6.30.4]$ arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/maxim/arm-lite/src-4.3-arm-none-linux-gnueabi-lite/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q1-176' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176)

注意:编译器得支持红色标记的。

2)去掉内核中的Kernel Features->Use the ARM EABIto compile the kernel选项

为了节省时间我选择了第一种方法,还是蛮凑效的。好记性不如乱笔头,记下乎 ~~~

请问:
可以按这种方法解决吗?
亚瑟王 发表于 2010-3-11 11:07:09 | 显示全部楼层
在天嵌科技提供的Linux移植手册里面讲了的,如果要使用EABI的编译器(也就是4.3.3的编译器)就一定要在配置内核时选上支持EABI的选项。
根据你的错误提示恰好就是EABI的配置参数引起的,建议你确认一下你目前使用的编译器的类型,在终端输入:arm-linux-gcc -v即可查看。然后再确认一下在配置单中是否选择了EABI的选项。
回复

使用道具 举报

 楼主| dengwei3010 发表于 2010-3-11 11:58:43 | 显示全部楼层
我查过没有EABI的编译器,于是我去掉内核中的Kernel Features->Use the ARM EABIto compile the kernel选项,好像编译可以通过。
也就是说不一定要用EAB编译器是吗?
回复

使用道具 举报

亚瑟王 发表于 2010-3-11 12:13:13 | 显示全部楼层
刚刚在2楼回答了:如果要使用EABI的编译器就一定要选上EABI的选项。如果你不使用EABI的编译器,这个选项就不用选择。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-8-3 19:11 , Processed in 2.029668 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表