我正在尋找爲ARM系統創建GCC的原生版本,並且遇到了一些麻煩。生成機器是i686-linux。我看到的每個教程都告訴我如何設置實際的交叉編譯套件(我已使用crosstools-ng完成)。但是,我沒有看到與編譯本機ARM GCC相關的任何內容。我使用的配置字符串如下,我只在頭文件中設置了sysroot。我還交叉編譯並安裝了GMP和MPFR。使用交叉編譯器編譯原生GCC for
../../gcc-4.3.5/configure –host=arm-unknown-linux-gnueabi –build=i686-build_pc-linux-gnu –target=arm-unknown-linux-gnueabi –prefix=/home/vm/gcc-native/sysroot –with-sysroot=/home/vm/gcc-native/sysroot –enable-shared –enable-threads –disable-libmudflap –disable-libssp –disable-libgomp –disable-libstdcxx-pch –with-gnu-as –with-gnu-ld –enable-languages=c,c++ –enable-symvers=gnu –enable-__cxa_atexit –disable-nls –disable-multilib –with-gmp=/home/vm/gcc-native/sysroot/ –with-mpfr=/home/vm/gcc-native/sysroot/
GCC將建立一段時間,但隨後死亡與此:
checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile.
我不知道如何做到這一點連我的系統上運行,因爲我在i686-linux和建設目標/主機都是arm-linux。我現在的想法是找到一個ltib發行版並查看GCC的規格文件並嘗試遵循所有步驟。由於與std名稱空間衝突,我的系統板附帶的GCC無法在我的系統上編譯。
任何信息/鏈接將不勝感激!
也許你可以在'configure'腳本里面找到計算目標文件後綴的部分並找出它失敗的原因。或者,也許只是修復它總是返回'.o'。 –
實際上,構建系統可能會嘗試運行跨構建(arm)可執行文件,並失敗。修復這個特殊的測試是沒有意義的。它將無法運行下一個。有必要查看構建日誌以找出發生了什麼問題。 –