centos 完全離線安裝gcc5 4

2021-08-31 07:08:00 字數 4638 閱讀 4089

由於公司有個專案在公安系統中,無法連線到外網,所以導致無法在網上直接安裝一些軟體,同時centos不自帶gcc,導致了一系列的問題,這裡就把解決的過程寫下來。

centos系統,我這裡是6.5,其他版本類似,如果相差太大,估計就會不同。

[root@localhost gcc-build]#rpm -ivh libstdc++-4.4.7-4.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh kernel-headers-2.6.32-431.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh glibc-headers-2.12-1.132.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh glibc-devel-2.12-1.132.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm

[root@localhost gcc-build]#rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm

如果遇到了error:failed dependencies問題,可以加--nodeps --force,強制安裝。

安裝完後可以執行gcc -v,檢視gcc的版本,這時候版本應該是gcc4.4.7

gcc-5.4.0.tar.gz 安裝包 

gmp-4.3.2.tar.bz2 gcc依賴包 

mpfr-2.4.2.tar.bz2 gcc依賴包 

mpc-0.8.1.tar.gz gcc依賴包 

上面三個依賴的版本依據可以將gcc-5.4.0.tar.gz解壓後在gcc-5.4.0/contrib/download_prerequisites檔案裡面看到如下:

# necessary to build gcc.

mpfr=mpfr-2.4.2

gmp=gmp-4.3.2

mpc=mpc-0.8.1

然後就是安裝,如果不是root用於,安裝時注意加sudo。

安裝gmp-4.3.2

[root@localhost gcc-build]#tar -xjvf gmp-4.3.2.tar.bz2

[root@localhost gcc-build]#cd gmp-4.3.2

[root@localhost gcc-build]#mkdir gmp-build

[root@localhost gcc-build]#cd gmp-build

#執行配置  --prefix表示後面將要安裝到的目標位置,下面一樣

[root@localhost gcc-build]#../configure --prefix=/usr/local/gmp-4.3.2

[root@localhost gcc-build]#make

[root@localhost gcc-build]#make install

安裝mpfr-2.4.2 

安裝mpfr依賴於gmp,所以應先安裝gmp。

[root@localhost gcc-build]#tar -xjvf mpfr-2.4.2.tar.bz2

[root@localhost gcc-build]#cd mpfr-2.4.2

[root@localhost gcc-build]#mkdir mpfr-build

[root@localhost gcc-build]#cd mpfr-build

[root@localhost gcc-build]#../configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2

[root@localhost gcc-build]#make

[root@localhost gcc-build]#make install

安裝mpc-0.8.1.tar.gz

[root@localhost gcc-build]#tar -xzvf mpc-0.8.1.tar.gz

[root@localhost gcc-build]#cd mpc-0.8.1

[root@localhost gcc-build]#mkdir mpc-build

[root@localhost gcc-build]#cd mpc-build

[root@localhost gcc-build]#../configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2

[root@localhost gcc-build]#make

[root@localhost gcc-build]#make install

新增環境變數

export ld_library_path=$ld_library_path:/usr/local/gmp-4.3.2/lib:/usr/local/mpc-0.8.1/lib:/usr/local/mpfr-2.4.2/lib
安裝gcc-5.4.0

[root@localhost gcc-build]#tar -xzvf gcc-5.4.0.tar.gz

[root@localhost gcc-build]#cd gcc-5.4.0

[root@localhost gcc-build]#mkdir gcc-build

[root@localhost gcc-build]#cd gcc-build

[root@localhost gcc-build]#../configure --prefix=/usr/local/gcc-5.4.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1

[root@localhost gcc-build]#make

[root@localhost gcc-build]#make install

現在gcc-5.4.0安裝完成了,但是gcc-5.4.0的環境變數還沒有設定,系統中使用的還是舊版的gcc

重新設定gcc環境變數,更新系統gcc版本號

#備份gcc-4.4.7 

mkdir /usr/gcc447backup/

mv /usr/bin/ /usr/gcc447backup

ln -s /usr/local/gcc-5.4.0/bin/gcc /usr/bin/gcc

ln -s /usr/local/gcc-5.4.0/bin/g++ /usr/bin/g++

gcc -v

驗證

gcc -v
如果顯示的gcc版本仍是以前的版本,可以重啟系統;which gcc 檢視gcc的安裝位置。

然後這裡還有乙個問題,就是使用的libstdc++等檔案時,發現使用的還是gcc4.4.2,沒有使用新的gcc編譯出來的so,這個時候就需要我們去查詢到最新的so,把so複製到/usr/lib64下面重新軟鏈結。

使用下面語句檢視最新so檔案,注意沒有許可權要加上sudo。

find / -name "libstdc++.so*"

.../home/gcc-5.4.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 //最新動態庫

...

複製到/usr/lib64。然後將libstdc++.so.6軟鏈結到最新的庫上面,這裡是libstdc++.so.6.0.21

ln -sf libstdc++.so.6.0.21 libstdc++.so.6
成功後可以使用strings檢視,也可以檢視其它檔案,原理類似

strings /usr/lib64/libstdc++.so.6 | grep glibc
參考:

完全離線安裝 eslint 的方法

1.在無法聯網的電腦上先把vscode安裝好。2.在家裡有網的電腦上,在vscode裡面的擴充套件直接安裝eslint外掛程式,然後在該路徑 c users administrator vscode extensions 下,把eslint外掛程式的資料夾 dbaeumer.vscode eslin...

centos離線安裝gcc

目的 離線安裝gcc 環境 centos 6.3 i386 安裝步驟如下 1.軟體包安裝時很有可能會報包依賴的錯誤,用如下方法裝就不會有問題了!rpm uvh rpm nodeps force 注 按這種情況安裝可能會gcc hello.c出錯,出錯則執行第二步 2.rpm ivh rpm 還是不行...

完全離線的開發環境下安裝node sass

我的win32 x64 64 binding.node.install.bat set sass binary path d code win32 x64 64 binding.node yarn add node sass d verbose 把win32 x64 64 binding.node....