我知道,編譯編譯器是一個諷刺。但是我需要這個編譯器的特定版本,而CentOS 5.x版本庫沒有最新版本的GCC。編譯編譯器錯誤編譯GCC
我需要的版本是4.3.2,但我只有4.1.1。
我跟着這個教程安裝在gcc http://www.mjmwired.net/resources/mjm-fedora-gcc.html和我用下面的參數在配置(前編譯):
/root/gcc/gcc-4.3.6/configure前綴= /選擇/ gcc43 --program-suffix = 43 --enable-languages = c,C++ --enable-shared --enable-threads = posix --disable-checking --with-system-zlib --enable -__ cxa_atexit --disable -libunwind的例外 - 禁用multilib的
最後一個選項--disable-multilib
救救我的另一個錯誤是我在以前的編譯嘗試了(很長的時間編譯之後。 ..)
我設立一個環境變量,因爲在以前的嘗試,我有錯誤,所以我設置如下:
export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib:$LD_LIBRARY_PATH
,以確保編譯器搜索MPFR和GMP庫(需要哪些)在該目錄中
所以,我執行'make'命令。
我雖然是一切就OK了,因爲這個時候只花了更多的時間(在我的最後一次嘗試設置變量之前我花了約2小時編譯)
我用Amazon Web Services的微實例,該實例有1個單核x86_64處理器和613 MB的RAM,,所以編譯需要大約9個小時。
偏偏我又得到了錯誤的!現在我得到這樣的:
make[2]: Entering directory `/root/gcc/build'
make[3]: Entering directory `/root/gcc/build'
rm -f stage_current
make[3]: Leaving directory `/root/gcc/build'
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./gcc.o differs
./varasm.o differs
./except.o differs
./i386.o differs
make[2]: *** [compare] Error 1
make[2]: Leaving directory `/root/gcc/build'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/root/gcc/build'
make: *** [all] Error 2
有什麼建議?
「我知道,編譯一個編譯器是一個諷刺。」技術術語是* bootstrapping *而不是諷刺。 – thiton 2011-12-28 13:16:08