作者FFz (澎湖.仙人掌.234)
站内LinuxDev
标题Re: 一些cross compiler的心得
时间Mon Apr 23 05:52:40 2007
zxvf大,可以请教一下
您的系统环境如何
我最近一直装,都装不成功
我在网路上参考了好几篇的安装教学
老是安装到一半就结束了
不晓得到底是错在哪
谢谢
※ 引述《zxvc (zxvc)》之铭言:
: 我算是业余在研究cross compiler的人,
: 我觉得研究这些东西虽然有时後满难的,但试成功了就满有成就感的.
: 在这里分享一下我的一些宝贵经验,以便後来的新手不必走许多冤枉路:
: 如果你在编GCC时出现类似这个错误:
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: /home/user/gcc-build/gcc/xgcc
: -B/home/user/gcc-build/gcc/
: -B/usr/arm/badpath/arm-unknown-linux-gnu/bin/
: -B/usr/arm/badpath/arm-unknown-linux-gnu/lib/
: -isystem /usr/arm/badpath/arm-unknown-linux-gnu/include
: /tmp/ccJfUj2U.s: Assembler messages:
: ...
: make[1]: *** [crtbegin.o] Error 1
: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: 这是因为你在./configure的时後所下的参数会导致
: 组译过程会去找$prefix/$target/bin底下的ld, as, ...的binutils来用.
: 若$prefix/$target/bin找不到binutils,就会使用你目前系统上的binutils来用.
: 如果你系统上的binutils是for x86,
: 那麽它便不会认得for non-x86(例如ARM)的instruction,导致assemble错误.
: 所以解决的方法就是请你检查gcc的./configure的--prefix与--target设定,
: 是否在$prefix/$target/bin确实是放置着cross binutils.
: 例如上述范例
: --prefix=/usr/arm/badpath --target=arm-unknown-linux-gnu
: 如果cross binutils装在/usr/arm/arm-unknown-linux-gnu/bin,
: 那麽prefix便要修正为:
: --prefix=/usr/arm --target=arm-unknown-linux-gnu
: 参考资料:
: http://sourceware.org/ml/crossgcc/2002-01/msg00074.html
: 改天有空再讲cross gcc + uClibc shared library + skyeye的经验.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.181.9
1F:推 zxvc:我的 ID 是 zxvc XD 04/23 07:48
2F:→ zxvc:我都是在 Ubuntu 上编译toolchain。 04/23 07:48
3F:→ zxvc:我用的系统是 Athlon XP 2600+ & Ubuntu 7.04 04/23 07:48
4F:→ zxvc:与 Pentium 4 M & Ubuntu 6.06 04/23 07:49
5F:→ zxvc:native gcc 分别是 4.1.2 与 4.0.3 04/23 07:55
6F:推 zxvc:把你下的参数贴出来,也许会有人帮你解答。或者搜google。 04/23 08:00