2015-10-11 239 views
1

任何人都可以幫助如何構建具有x86_64體系結構的multilib支持的gcc交叉編譯器?即從m32和m64 lib支持的源代碼構建它。如何使用--disable-multilib構建gcc交叉編譯器

有展示如何構建一個gcc交叉編譯的好文章: http://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/ ,但它只顯示了與--disable-multilib的情況。

我正在嘗試使用--enable-multilib選項(對於m32和m64)構建x86_64 gcc交叉編譯器,而不是--disable-mutlilib。

我跟隨,但使用拱= x86_64的* - *和--enable-multilib的 我現在面臨的問題是在步驟4標準C庫頭和啓動文件

$ make install-bootstrap-headers=yes install-headers 

它散發出來的以下錯誤:

/opt/cross/lib/gcc/x86_64-linux/4.9.2/../../../../x86_64-linux/bin/ld: cannot find crtbegin.o: No such file or directory 
/opt/cross/lib/gcc/x86_64-linux/4.9.2/../../../../x86_64-linux/bin/ld: cannot find -lgcc 
/opt/cross/lib/gcc/x86_64-linux/4.9.2/../../../../x86_64-linux/bin/ld: cannot find -lgcc_s 
/opt/cross/lib/gcc/x86_64-linux/4.9.2/../../../../x86_64-linux/bin/ld: cannot find -lgcc 
/opt/cross/lib/gcc/x86_64-linux/4.9.2/../../../../x86_64-linux/bin/ld: cannot find -lgcc_s 
/opt/cross/lib/gcc/x86_64-linux/4.9.2/../../../../x86_64-linux/bin/ld: cannot find crtend.o: No such file or director 

任何想法?

而且我multilib的安裝爲:

[email protected]:/usr$ find -name libgcc*.* 
./lib32/libgcc_s.so.1 
./lib/ure/lib/libgcc3_uno.so 
./lib/x86_64-linux-gnu/libgccpp.so.1.0.3 
./lib/x86_64-linux-gnu/libgccpp.so.1 
./lib/gcc/x86_64-linux-gnu/4.9/libgcc_s.so 
./lib/gcc/x86_64-linux-gnu/4.9/32/libgcc_s.so 
./lib/gcc/x86_64-linux-gnu/4.9/32/libgcc_eh.a 
./lib/gcc/x86_64-linux-gnu/4.9/32/libgcc.a 
./lib/gcc/x86_64-linux-gnu/4.9/libgcc_eh.a 
./lib/gcc/x86_64-linux-gnu/4.9/x32/libgcc_s.so 
./lib/gcc/x86_64-linux-gnu/4.9/x32/libgcc_eh.a 
./lib/gcc/x86_64-linux-gnu/4.9/x32/libgcc.a 
./lib/gcc/x86_64-linux-gnu/4.9/libgcc_s_x32.so 
./lib/gcc/x86_64-linux-gnu/4.9/libgcc_s_32.so 
./lib/gcc/x86_64-linux-gnu/4.9/libgcc.a 
./libx32/libgcc_s.so.1 
./share/doc/libgcc-4.9-dev 

[email protected]:/usr$ find -name crtbegin.o 
./lib/gcc/x86_64-linux-gnu/4.9/crtbegin.o 
./lib/gcc/x86_64-linux-gnu/4.9/32/crtbegin.o 
./lib/gcc/x86_64-linux-gnu/4.9/x32/crtbegin.o 

回答

-4

sudo apt-get install gcc-4.9.2

0

採取從Gentoo項目,極大地簡化了構建交叉編譯器看看crossdev
根據我的經驗,最挑剔的部分通常會找到版本binutils,glibcgcc,它們可以一起成功構建。

正如R M所建議的那樣,除非需要,否則不需要自己構建它。