gcc8.2安裝__(沒有成功)

重要:https://gcc.gnu.org/install/prerequisites.html   官方安裝所須要的工具文檔html

還有就是這篇文章 http://blog.51cto.com/2716255/1965617  

因爲要安裝一高可用軟件,其在編譯安裝的時候提示須要4.4+版本以上的gcc,而個人系統是rhel5.8,gcc版本是gcc version 4.1.2,所以須要將gcc版本升級,看似簡單的升級,實施起來仍是頗爲曲折,僅將我的安裝過程記錄下來,但願對有須要的人有所幫助。 gcc的升級有多種方式能夠完成,最簡單的方式就是經過在線yum源的方式完成升級,其次是經過本地yum源作升級,還有能夠經過rpm包升級以及源碼包升級的方式。因爲我這內網機,並且受限於系統版本和依賴包,經過本地yum和rpm也不是特別現實(比較繁瑣),因此首選的方案是經過源碼包升級。具體升級步驟以下: 1、下載升級包所需軟件 boost_1_60_0.tar.gz http://www.boost.org/users/history/version_1_60_0.html gcc-4.8.0.tar.gz http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/ 必須 isl-0.11.1.tar.gz http://isl.gforge.inria.fr/ 必須 mpc-1.0.3.tar.gz http://ftp.heanet.ie/mirrors/gnu/mpc/ 必須 cloog-0.18.1.tar.gz ftp://gcc.gnu.org/pub/gcc/infrastructure/ 必須 gmp-5.1.3.tar.gz http://ftp.yz.yamagata-u.ac.jp/pub/GNU/gmp/ 必須 libelf-0.8.13.tar.gz http://www.mr511.de/software/english.html mpfr-3.1.3.tar.gz http://ftp.gnu.org/gnu/mpfr/ 必須 2、依次安裝相關的軟件 1)boost安裝(可不裝) tar -xzvf boost_1_60_0.tar.gz cd boost_1_60_0 ./bootstrap.sh ./b2 ./bjam install 2)gmp安裝 tar -xzv gmp-5.1.3.tar.gz cd gmp-5.1.3 ./configure --prefix=/usr/local/gmp make make install 3)mpfr安裝 tar -xzvf mpfr-3.1.3.tar.gz cd mpfr-3.1.3 ./configure --with-gmp-include=/usr/local/gmp/include --with-gmp-lib=/usr/local/gmp/lib --prefix=/usr/local/mpfr make make install 4)mpc安裝 tar -xzvf mpc-1.0.3.tar.gz cd mpc-1.0.3 ./configure --with-mpfr-include=/usr/local/mpfr/include --with-mpfr-lib=/usr/local/mpfr/lib --with-gmp-include=/usr/local/gmp/include --with-gmp-lib=/usr/local/gmp/lib --prefix=/usr/local/mpc make make install 5)isl安裝 tar -xzvf isl-0.11.1.tar.gz cd isl-0.11.1 ./configure --with-gmp-prefix==/usr/local/gmp --prefix=/usr/local/isl make make install 6)cloog安裝 tar -xzvf cloog-0.18.1.tar.gz cd cloog-0.18.1 ./configure --with-gmp-prefix==/usr/local/gmp -with-isl-prefix=/usr/local/isl --prefix=/usr/local/cloog make make install 7)gcc安裝 tar -xzvf gcc-4.8.0.tar.gz cd gcc-4.8.0 vi /etc/ld.so.conf /usr/local/isl/lib /usr/local/cloog/lib /usr/local/mpc/lib /usr/local/mpfr/lib /usr/local/gmp/lib ldconfig ./configure --with-mpfr=/usr/local/mpfr --with-gmp=/usr/local/gmp --with-mpc=/usr/local/mpc --with-mpfr-include=/usr/local/mpfr/include --with-mpfr-lib=/usr/local/mpfr/lib --with-gmp-lib=/usr/local/gmp/lib --with-gmp-include=/usr/local/gmp/include --with-mpc-lib=/usr/local/mpc/lib --with-mpc-inclue=/usr/local/mpc/include --with-isl-include=/usr/local/isl/include --with-isl-lib=/usr/local/isl/lib/ --with-cloog-include=/usr/local/cloog/include --with-cloog-lib=/usr/local/cloog/lib --enable-languages=c,c++ --enable-threads=posix --disable-multilib make make install 3、安裝後校驗 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ./configure --with-mpfr=/usr/local/mpfr --with-gmp=/usr/local/gmp --with-mpc=/usr/local/mpc --with-isl-include=/usr/local/isl/include --with-isl-lib=/usr/local/isl/lib/ --with-cloog=/usr/local/cloog --enable-languages=c,c++ --enable-threads=posix --disable-multilib --disable-bootstrap --disable-libstdcxx-pch Thread model: posix gcc version 4.8.0 (GCC) 4、安裝過程錯誤信息以及解決方案 1)解壓gcc安裝包直接編譯 錯誤信息: configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locatio 錯誤緣由: 對gcc源碼編譯安裝,須要GMP 4.2+,MPFR 2.4.0+ and MPC 0.8.0+的事先安裝,若是檢測不到默認頭文件和庫文件裏存在上述安裝包文件,則會報錯。 解決方案: 經過安裝gmp,mpfr,mpc安裝包,並指定其庫文件路徑進行編譯gcc便可,具體版本和安裝步驟詳細參考上述安裝步驟。 安裝gmp,mpfr,mpc後執行下面編譯腳本進行編譯 ./configure --with-mpfr=/usr/local/mpfr --with-gmp=/usr/local/gmp --with-mpc=/usr/local/mpc --with-mpfr-include=/usr/local/mpfr/include --with-mpfr-lib=/usr/local/mpfr/lib --with-gmp-lib=/usr/local/gmp/lib --with-gmp-include=/usr/local/gmp/include --with-mpc-lib=/usr/local/mpc/lib --with-mpc-inclue=/usr/local/mpc/include --enable-languages=c,c++ --enable-threads=posix --disable-multilib 2)編譯mpc安裝包出錯 錯誤信息: /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libmpfr.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [libmpc.la] Error 1 make[2]: Leaving directory `/tools/PXC/gcc/mpc-1.0.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tools/PXC/gcc/mpc-1.0.3' make: *** [all] Error 2 錯誤緣由: 編譯mpc源碼時,沒有指定gmp、mpfr對應的安裝路徑(主要是庫文件和頭文件路徑) 解決方案: 在編譯腳本里加入相應的gmp、mpfr安裝路徑或者庫文件+頭文件路徑 ./configure --with-mpfr-include=/usr/local/mpfr/include --with-mpfr-lib=/usr/local/mpfr/lib --with-gmp-include=/usr/local/gmp/include --with-gmp-lib=/usr/local/gmp/lib --prefix=/usr/local/mpc 或者 ./configure --with-mpfr=/usr/local/mpfr --with-gmp=/usr/local/gmp --prefix=/usr/local/mpc 3)帶gmp、mpfr、mpc編譯參數,編譯gcc源碼出錯 錯誤信息: conftest.c:10:25: error: isl/version.h: No such file or directory 錯誤緣由: 沒安裝isl安裝包 解決方案: 安裝isl-0.11.1.tar.gz,具體安裝步驟參照上面內容。 4)源碼編譯isl出錯 錯誤信息: ./.libs/libisl.so: undefined reference to `__gmp_get_memory_functions' collect2: ld returned 1 exit status make[2]: *** [isl_cat] Error 1 ./.libs/libisl.so: undefined reference to `__gmp_get_memory_functions' collect2: ld returned 1 exit status make[2]: *** [isl_polyhedron_detect_equalities] Error 1 make[2]: Leaving directory `/tools/PXC/gcc/isl-0.12.2' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tools/PXC/gcc/isl-0.12.2' make: *** [all] Error 2 錯誤緣由: isl編譯安裝,須要在指定gmp的安裝路徑 解決方案: 在編譯參數裏指定gmp的安裝路徑,而且格式爲--with-gmp-prefix==,不能用--with-gmp ./configure --with-gmp-prefix=/usr/local/gmp --prefix=/usr/local/isl 參考文件:https://groups.google.com/forum/#!msg/isl-development/ejZLCmty4Nc/PrKXb9noTCoJ 5)安裝完gmp,mpfr,mpc,isl後,源碼編譯gcc出錯 錯誤信息: configure:6098: gcc -c -g -O2 -DCLOOG_INT_GMP -I/usr/local/isl/include -I/usr/local/gmp/include -I/usr/local/mpfr/include -I/usr/local/mpc/include conftest.c >&5 conftest.c:10:27: error: cloog/version.h: No such file or directory conftest.c: In function 'main': conftest.c:15: error: 'choke' undeclared (first use in this function) conftest.c:15: error: (Each undeclared identifier is reported only once conftest.c:15: error: for each function it appears in.) conftest.c:15: error: expected ';' before 'me' 錯誤緣由: 缺乏安裝包cloog,沒找到相應的庫文件。 解決方案: 安裝cloog-0.18.1.tar.gz ,具體安裝步驟參照上面安裝步驟,安裝cloog後,繼續編譯gcc ./configure --with-mpfr=/usr/local/mpfr --with-gmp=/usr/local/gmp --with-mpc=/usr/local/mpc --with-mpfr-include=/usr/local/mpfr/include --with-mpfr-lib=/usr/local/mpfr/lib --with-gmp-lib=/usr/local/gmp/lib --with-gmp-include=/usr/local/gmp/include --with-mpc-lib=/usr/local/mpc/lib --with-mpc-inclue=/usr/local/mpc/include --with-isl-include=/usr/local/isl/include --with-isl-lib=/usr/local/isl/lib/ --with-cloog-include=/usr/local/cloog/include --with-cloog-lib=/usr/local/cloog/lib --enable-languages=c,c++ --enable-threads=posix --disable-multilib --disable-bootstrap --disable-libstdcxx-pch 6)安裝cloog遇到下屬錯誤 錯誤信息: ./conftest: error while loading shared libraries: libisl.so.10: cannot open shared object file: No such file or directory 錯誤緣由: 找不到isl的庫文件,須要在/etc/ld.so.conf中添加如下內容/usr/local/isl/lib,並經過ldconfig使其生效。 解決方案: 經過LD_LIBRARY_PATH指定isl庫文件路徑或者在/etc/ld.so.conf中添加如下內容/usr/local/isl/lib,並經過ldconfig使其生效。而後經過相應的編輯參數指定isl的庫文件和頭文件,進行cloog編譯安裝。經過strings /etc/ld.so.cache | grep libisl 查看是否已經將庫文件寫入緩存。 7)下屬錯誤能夠忽略 錯誤信息01: conftest.cpp:11:2: error: #error -static-libstdc++ not implemented 5、參考文檔: http://stackoverflow.com/questions/9450394/how-to-install-gcc-piece-by-piece-with-gmp-mpfr-mpc-elf-without-shared-libra https://groups.google.com/forum/#!msg/isl-development/ejZLCmty4Nc/PrKXb9noTCoJ

 

在Linux系統上安裝isl-0.18版本
http://blog.sina.com.cn/s/blog_15d0344a30102xjyz.html     

 

......第二次仍是沒成功   ,,,,之後再來搞吧   linux

相關文章
相關標籤/搜索