新聞中心
然后使用以下命令進(jìn)行配置和編譯:必須先將GMP的頭文件路徑添加到環(huán)境變量中:

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)屏邊免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
最近,我在我的Ubuntu18.04系統(tǒng)中嘗試進(jìn)行源碼安裝gcc7.3.0。這是一個旨在提高編譯速度和代碼質(zhì)量的GCC版本,但由于它并不包含在默認(rèn)軟件倉庫中,所以需要手動進(jìn)行安裝。
首先,我去了GCC官方網(wǎng)站下載了源代碼包,并按照README文件中的說明解壓縮了該文件。接下來,我進(jìn)入解壓后的目錄,并使用以下命令開始配置:
```
./configure --prefix=/usr/local/gcc-7
這個過程非常漫長,在我的機(jī)器上大約花費了20分鐘左右。然而,在完成之前出現(xiàn)了錯誤:
checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.4+ and MPC 0.8+. Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations.
經(jīng)過查找資料得知,此錯誤意味著缺少必要的依賴項GMP、MPFR和MPC庫。因此,我決定將它們也手動下載并編譯。
第一個依賴項是GMP庫。同樣地,在其官方網(wǎng)站下載完整源代碼包后(gmp-6.x.x.tar.bz2),我解壓縮并進(jìn)入該目錄,然后使用以下命令進(jìn)行配置和編譯:
./configure --prefix=/usr/local/gmp-6
make -j4 && make install
這個過程很快就完成了,并顯示出了成功安裝的信息。
接下來是MPFR庫。步驟與上述類似,但需要注意一點:在執(zhí)行“make”命令之前,必須先將GMP的頭文件路徑添加到環(huán)境變量中:
export CFLAGS="-I/usr/local/gmp-6/include"
export LDFLAGS="-L/usr/local/gmp-6/lib"
./configure --prefix=/usr/local/mpfr-3 --with-gmp=/usr/local/gmp-6
最后一個依賴項MPC庫同樣如此處理。但由于它還需要引用MPFR庫,因此要設(shè)置兩個環(huán)境變量:
export CFLAGS="-I/usr/local/gmp-6/include -I/usr/local/mpfr-3/include"
export LDFLAGS="-L/usr/local/gmp-6/lib -L/usr/local/mpfr-3/lib"
./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6 --with-MPFR=/usr/locl/mpfr--3
現(xiàn)在所有依賴項都已經(jīng)準(zhǔn)備好了。我回到GCC源代碼目錄,并重新執(zhí)行了之前的配置命令。這次,它通過了檢查,并開始編譯:
這個過程非常漫長,花費了大約1小時。然而,在完成之前又出現(xiàn)了錯誤:
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
Makefile:10530:recipe for target 'libgcc_s.so.1' failed
make[3]: *** [libgcc_s.so.1] Error 1
make[3]: Leaving directory '/home/user/gcc-7.3.0/x86_64-pc-linux-gnu/libgcc'
Makefile:15247:recipe for target 'all-target-libgcc' failed
make[2]: *** [all-target-libgcc] Error 2
make[2]: Leaving directory '/home/user/gcc-7.3.0'
Makefile:2389:recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/user/gcc-7.3.0'
Makefile:9266:recipe for target 'bootstrap' failed
make: *** [bootstrap] Error 2
這是由于缺少一個名為“l(fā)ibtinfo”的庫的原因。我在網(wǎng)上查找解決方法,并嘗試使用以下命令安裝它:
sudo apt-get install libncurses-dev:i386 lib32z-dev libssl-dev libc6-i386 g++
但結(jié)果并不理想,錯誤依舊存在。
標(biāo)題名稱:Ubuntu18.04系統(tǒng)源碼安裝gcc7.3.0:一次痛苦的嘗試
鏈接地址:http://www.dlmjj.cn/article/dpjjdid.html


咨詢
建站咨詢
