掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
然后使用以下命令進行配置和編譯:必須先將GMP的頭文件路徑添加到環(huán)境變量中:

專注于為中小企業(yè)提供成都網站建設、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)屏邊免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。
最近,我在我的Ubuntu18.04系統(tǒng)中嘗試進行源碼安裝gcc7.3.0。這是一個旨在提高編譯速度和代碼質量的GCC版本,但由于它并不包含在默認軟件倉庫中,所以需要手動進行安裝。
首先,我去了GCC官方網站下載了源代碼包,并按照README文件中的說明解壓縮了該文件。接下來,我進入解壓后的目錄,并使用以下命令開始配置:
```
./configure --prefix=/usr/local/gcc-7
這個過程非常漫長,在我的機器上大約花費了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.
經過查找資料得知,此錯誤意味著缺少必要的依賴項GMP、MPFR和MPC庫。因此,我決定將它們也手動下載并編譯。
第一個依賴項是GMP庫。同樣地,在其官方網站下載完整源代碼包后(gmp-6.x.x.tar.bz2),我解壓縮并進入該目錄,然后使用以下命令進行配置和編譯:
./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庫,因此要設置兩個環(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)在所有依賴項都已經準備好了。我回到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”的庫的原因。我在網上查找解決方法,并嘗試使用以下命令安裝它:
sudo apt-get install libncurses-dev:i386 lib32z-dev libssl-dev libc6-i386 g++
但結果并不理想,錯誤依舊存在。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流