作者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
推 zxvc:我的 ID 是 zxvc XD 04/23 07:48
→ zxvc:我都是在 Ubuntu 上編譯toolchain。 04/23 07:48
→ zxvc:我用的系統是 Athlon XP 2600+ & Ubuntu 7.04 04/23 07:48
→ zxvc:與 Pentium 4 M & Ubuntu 6.06 04/23 07:49
→ zxvc:native gcc 分別是 4.1.2 與 4.0.3 04/23 07:55
推 zxvc:把你下的參數貼出來,也許會有人幫你解答。或者搜google。 04/23 08:00