久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

曲折的gcc升級(jí)詳細(xì)步驟

 萬(wàn)書(shū)草堂 2018-07-17
                         由于要安裝一高可用軟件,其在編譯安裝的時(shí)候提示需要4.4+版本以上的gcc,,而我的系統(tǒng)是rhel5.8,gcc版本是gcc version 4.1.2,因此需要將gcc版本升級(jí),看似簡(jiǎn)單的升級(jí),,實(shí)施起來(lái)還是頗為曲折,,僅將個(gè)人安裝過(guò)程記錄下來(lái),希望對(duì)有需要的人有所幫助,。
    gcc的升級(jí)有多種方式可以完成,,最簡(jiǎn)單的方式就是通過(guò)在線yum源的方式完成升級(jí),其次是通過(guò)本地yum源做升級(jí),,還有可以通過(guò)rpm包升級(jí)以及源碼包升級(jí)的方式,。由于我這內(nèi)網(wǎng)機(jī),而且受限于系統(tǒng)版本和依賴(lài)包,,通過(guò)本地yum和rpm也不是特別現(xiàn)實(shí)(比較繁瑣),,所以首選的方案是通過(guò)源碼包升級(jí)。具體升級(jí)步驟如下:
1,、下載升級(jí)包所需軟件
    boost_1_60_0.tar.gz     http://www./users/history/version_1_60_0.html
    gcc-4.8.0.tar.gz       http://ftp./gnu/gcc/gcc-4.8.0/            必須
    isl-0.11.1.tar.gz      http://isl.gforge./                  必須
    mpc-1.0.3.tar.gz       http://ftp./mirrors/gnu/mpc/            必須
    cloog-0.18.1.tar.gz     ftp://gcc./pub/gcc/infrastructure/         必須
    gmp-5.1.3.tar.gz       http://ftp.yz./pub/GNU/gmp/        必須
    libelf-0.8.13.tar.gz     http://www./software/english.html        
    mpfr-3.1.3.tar.gz      http://ftp./gnu/mpfr/                必須

2,、依次安裝相關(guān)的軟件
    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、安裝后校驗(yàn)
        # 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,、安裝過(guò)程錯(cuò)誤信息以及解決方案
    1)解壓gcc安裝包直接編譯
       錯(cuò)誤信息:
           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
       錯(cuò)誤原因:
        對(duì)gcc源碼編譯安裝,,需要GMP 4.2+,MPFR 2.4.0+ and MPC 0.8.0+的事先安裝,如果檢測(cè)不到默認(rèn)頭文件和庫(kù)文件里存在上述安裝包文件,,則會(huì)報(bào)錯(cuò),。
       解決方案:
        通過(guò)安裝gmp,mpfr,mpc安裝包,并指定其庫(kù)文件路徑進(jìn)行編譯gcc即可,,具體版本和安裝步驟詳細(xì)參考上述安裝步驟,。
        安裝gmp,mpfr,mpc后執(zhí)行下面編譯腳本進(jìn)行編譯
        ./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安裝包出錯(cuò)
       錯(cuò)誤信息:
        /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
       錯(cuò)誤原因:
        編譯mpc源碼時(shí),沒(méi)有指定gmp,、mpfr對(duì)應(yīng)的安裝路徑(主要是庫(kù)文件和頭文件路徑)
       解決方案:
        在編譯腳本里加入相應(yīng)的gmp,、mpfr安裝路徑或者庫(kù)文件+頭文件路徑
        ./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編譯參數(shù),編譯gcc源碼出錯(cuò)
       錯(cuò)誤信息:
        conftest.c:10:25: error: isl/version.h: No such file or directory
       錯(cuò)誤原因:
        沒(méi)安裝isl安裝包
       解決方案:
        安裝isl-0.11.1.tar.gz,具體安裝步驟參照上面內(nèi)容,。
    4)源碼編譯isl出錯(cuò)
       錯(cuò)誤信息:
        ./.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
       錯(cuò)誤原因:
        isl編譯安裝,,需要在指定gmp的安裝路徑
       解決方案:
        在編譯參數(shù)里指定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出錯(cuò)
       錯(cuò)誤信息:
        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'
       錯(cuò)誤原因:
        缺少安裝包c(diǎn)loog,,沒(méi)找到相應(yīng)的庫(kù)文件。
       解決方案:
        安裝cloog-0.18.1.tar.gz ,,具體安裝步驟參照上面安裝步驟,,安裝cloog后,繼續(xù)編譯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遇到下屬錯(cuò)誤
       錯(cuò)誤信息:
        ./conftest: error while loading shared libraries: libisl.so.10: cannot open shared object file: No such file or directory
       錯(cuò)誤原因:
        找不到isl的庫(kù)文件,,需要在/etc/ld.so.conf中添加以下內(nèi)容/usr/local/isl/lib,,并通過(guò)ldconfig使其生效。
       解決方案:
        通過(guò)LD_LIBRARY_PATH指定isl庫(kù)文件路徑或者在/etc/ld.so.conf中添加以下內(nèi)容/usr/local/isl/lib,,并通過(guò)ldconfig使其生效,。然后通過(guò)相應(yīng)的編輯參數(shù)指定isl的庫(kù)文件和頭文件,進(jìn)行cloog編譯安裝,。通過(guò)strings /etc/ld.so.cache | grep libisl  查看是否已經(jīng)將庫(kù)文件寫(xiě)入緩存,。

    7)下屬錯(cuò)誤可以忽略
       錯(cuò)誤信息01:
         conftest.cpp:11:2: error: #error -static-libstdc++ not implemented

5、參考文檔:
    http:///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

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多