1 首先是uboot 移植出现了问题 开始用的时候韦东山的编译工具,在安装韦老大的编译工具 arm-linux-gcc3.4.5的版本 时走了很多弯路(韦老大的这个编译工具做的不是很人性化)参考网上了很东西 才找到了些许门路,最后安装好,但是每次在编译的时候就 痛不欲生了 ... 就是通不过编译,总是提示一些错误。
最后的到韦老大的远程协助,找到了问题的症结,是在编译环境变量 出现了错误,
总之,韦老大的那个编译工具 不敢恭维
最后用的是友善之臂的arm-linux-gcc 4.4.3 版本的编译 方便的是 他给的包解压之后 自己 会形成一个很好的 安装路径
问题来了
安装好了 友善之臂的arm-linux-gcc 4.4.3 版本 之后 ,用去 编译uboot 和内核时 出现不少错误
下面是 编译内核
[root@localhost linux-2.6.32.2]# make zImage
scripts/kconfig/conf -s arch/arm/Kconfig
CHK include/linux/version.h
make[1]: “include/asm-arm/mach-types.h”是最新的。
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC kernel/bounds.s
/opt/FriendlyARM/toolschain/4.4.3/libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1:
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/FriendlyARM/toolschain/4.4.3/lib/libppl_c.so.2)
/opt/FriendlyARM/toolschain/4.4.3/libexec/gcc/arm-none-linux-gnueabi/4.4.3/cc1:
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /opt/FriendlyARM/toolschain/4.4.3/lib/libppl.so.7)
make[1]: *** [kernel/bounds.s] 错误 1
make: *** [prepare0] 错误 2
但是 按照该方法 还是 没有解决问题
替换掉 libstdc++.so.6.0.8 还没有解决问题
1 下载libstdc++.so.6.0.10
2 rm -rf /usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8
3 ln -s /usr/lib/libstdc++.so.6.0.10/usr/lib/libstdc++.so.6.
make zImage
之后还是会出现上述错误
最后又提示的错误, 在/opt/FriendlyARM/toolschain/4.4.3/lib/ 再建立一个软连接
原因是这样的 该目录下 缺少关键文件GLIBCXX_3.4.9
而GLIBCXX_3.4.9 却在libstdc++.so.6.0.10里面
先前 建立的那个软连接 旨在 /usr/lib目录下
而在 /opt/FriendlyARM/toolschain/4.4.3/lib根本没有这个软连接
故此 导致 编译失败
所以 又按着上面的 方法 在/opt/FriendlyARM/toolschain/4.4.3/lib 建立软连接
再 执行strings /usr/lib/libstdc++.so.6 | grep GLIBC
会看到下面
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBC_2.0
GLIBC_2.3
GLIBC_2.4
GLIBC_2.1
GLIBC_2.3.4
GLIBC_2.1.3
GLIBC_2.3.2
GLIBC_2.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
最后退到 原内核目录下 make zImage 问题解决 同时经验证 uboot编译问题业务解决 !!!!
心得: 方法只是一个启示,决不能替代一切,什么问题必须亲自thinking!!!!!!!!!!!
阅读(2305) | 评论(0) | 转发(1) |