Firefly开源社区

标题: RK3288内核编译 [打印本页]

作者: xunhuanzhuole    时间: 2014-12-8 14:52
标题: RK3288内核编译
在编译内核的时候,出现如下错误:
  LD      pie/pie_stage2.o
arm-linux-gnueabihf-ld: BFD (GNU Binutils for Ubuntu) 2.22 internal error, aborting at ../../bfd/elflink.c line 8758 in elf_link_output_extsym

arm-linux-gnueabihf-ld: Please report this bug.

make[1]: *** [pie/pie_stage2.o] Error 1
make: *** [vmlinux] Error 2

作者: xunhuanzhuole    时间: 2014-12-8 16:18
我的主机环境是ubuntu 12.04 都是按照文档的步骤做的。
作者: 暴走的阿Sai    时间: 2014-12-8 16:21
楼主的Ubuntu是新装的吗?如果确认步骤都一样,而且安装的软件都装成功了,建议检查一下Ubuntu自身的软件更新情况
作者: xunhuanzhuole    时间: 2014-12-8 16:48
到不是新装的,我用很久了!在另一台新装的ubuntu上也会出现这样的情况。不过我的软件到是没有跟新!那我试试将我的ubuntu软件更新一下吧!
作者: xunhuanzhuole    时间: 2014-12-8 18:01
问题解决了,编译器的问题!我直接将交叉编译工具指向了android的sdk中的交叉编译工具链。
  1. export CROSS_COMPILE=/mnt/lizy/Documents/src_code/rk3288_r-box_android4.4.2_sdk/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-
复制代码


作者: error结构体    时间: 2014-12-9 11:13
交叉工具链应用是配好了的,应该不用手的。
作者: xunhuanzhuole    时间: 2014-12-9 11:42
error结构体 发表于 2014-12-9 11:13
交叉工具链应用是配好了的,应该不用手的。

我是在wiki的Linux开发中,按照步骤编译内核 其中要单独安装编译工具。导出变量export CROSS_COMPILE=arm-linux-gnueabihf-后编译不通过,后来我check out了sdk代码直接编译是没问题的!
作者: xunhuanzhuole    时间: 2014-12-9 11:53
error结构体 发表于 2014-12-9 11:13
交叉工具链应用是配好了的,应该不用手的。



从内核的Makefile设置编译器路径可以看出,编译器是依赖SDK的。


作者: Zhou    时间: 2014-12-9 17:28
export -n ARCH
export -n CROSS_COMPILE
---------------------
亲测有效
作者: connet    时间: 2014-12-9 21:49
需要那么复杂吗?下载的的代码里面有编译器,新装的fedora20下直接make没问题的。
作者: isle    时间: 2014-12-10 09:10
这个看你怎么编  :
  kernel直接放在sdk目录中就什么不用设置 直接make就行了。
  如果是把kernel源码单独拿出来就需要设置啦。当然把prebuilts目录考出来一样直接make就行啦。说白了就是找到交叉工具链路径了。
作者: sky000    时间: 2014-12-16 16:53
就是要怎么改??环境变量怎么设置??感觉Makefile写成绝对路径有问题!!




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1