由於公司有個專案在公安系統中,無法連線到外網,所以導致無法在網上直接安裝一些軟體,同時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....