opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-ld: cannot find -lc




在尝试u-boot-1.1.6向mini2440移植的过程中,遇到下面的编译问题:

opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-ld: cannot find -lc


打开u-boot-1.1.6根目录下的Makefile,发现:第218行

PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc -lc -L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib

这一行是有问题的

检查一下arm-linux-gcc的目录,发现arm-none-linux-gnueabi目录下并没有libc这样的目录,因此推断问题是arm-linux-gcc带来的,将arm-linux-gcc换成4.3.2版本,检查libc目录存在,库文件完整后,重新调整环境变量,问题解决。



以下是Arm-linux-gcc-4.3.2安装步骤

下载arm-linux-gcc-4.3.2.tgz(84MB)

安装交叉编译工具链:
1、首先以root用户登入
2、复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里
3、解压命令tar xvzf arm-linux-gcc-4.3.2 -C /
注意以上命令必须要有-C而且是大写的后边有个空格也要注意

4、配置下编译环境路径 在控制台下输入 gedit /root/.bashrc 等一会出来文本编辑器后在文件最后(最后一行)加上 下面代码

export PATH=/usr/local/arm/4.3.2/bin:$PATH

保存关闭后,注销当前用户, 用root账号重新登录系统(使刚刚添加的环境变量生效)

此时你可以在控制台输入: arm-linux-gcc -v 如果安装成功将会输出 arm-linux-gcc的版本号

若想让它在非超级用户下使用那。首先,以用户登入
1、 输入命令:vi ~/.bashrc编辑.bashrc文件,在文件末尾加入如上面的内容
export PATH=/usr/local/arm/4.3.2/bin:$PATH

2、输入命令:gedit /etc/profile

在文件的末尾加上
PATH=/usr/local/arm/4.3.2/bin:$PATH

保存对profile的修改后,执行source /etc/profile就OK了。

注销当前用户再登录后进入控制台执行arm-linux-gcc -v 看看能否执行成功就可以了

 

http://spring-studio.net/?p=188

你可能感兴趣的:(mini2440)