記錄 非root使用者在集群上公升級GCC版本

2021-10-21 23:13:30 字數 1434 閱讀 4077

三、使用新的gcc替換老版本的gcc

需要在集群上執行乙個python的**,但是執行的時候提示 importerror: /lib64/libstdc++.so.6: version `glibcxx_3.4.20』 not found

查了資料,了解到是gcc版本過低導致. 但是因為是集群環境,沒有root許可權,大部分教程中的直接公升級方案完全沒用.於是去找手動公升級的方法, 這裡做一些記錄.

然後想辦法把這個檔案gcc-7.5.0.tar.gz 傳到集群上

tar zxf gcc-7.5.0.tar.gz
得到乙個目錄 gcc-7.5.0

進入到這個得到的gcc-7.5.0目錄下, 然後執行命令:

./contrib/download_prerequisites
我得到了四個包:

將四個包分別解壓, 然後建立軟鏈結

tar xjf mpfr-2.4.2.tar.bz2

ln -sf mpfr-2.4.2 mpfr

tar xjf gmp-4.3.2.tar.bz2

ln -sf gmp-4.3.2 gmp

tar xzf mpc-0.8.1.tar.gz

ln -sf mpc-0.8.1 mpc

tar xjf isl-0.14.tar.bz2

ln -sf isl-0.14 isl

然後回到gcc-7.5.0目錄下, 執行命令

./configure --disable-multilib --prefix=/home/xiaoxiangf/gcc-bin
注意這裡的這個目錄是自己建立的,意思大概是gcc將被安裝的目錄,所以最好選乙個空目錄

然後執行命令

make -j 10 &

make

install

然後等待編譯和安裝完成,過程可能比較長

這個時候,由於沒有新增環境變數,此時系統中用 gcc -v檢視到的還是用的老版本的gcc,因為系統仍然不知道新版本的gcc在哪兒.

先用文字編輯器開啟 ~/.bashrc檔案,然後在末尾新增兩行**:

export ld_library_path=/home/xiaoxiangf/gcc-bin/lib:/home/xiaoxiangf/gcc-bin/lib64:$ld_library_path

export path=/home/xiaoxiangf/gcc-bin/bin:/home/xiaoxiangf/gcc-bin/lib64::$path

然後儲存後執行命令:

source ~/.bashrc
此時可以用 gcc -v命令檢視系統現在使用的gcc版本已經是新版本了, 此時就安裝完成了

root使用者和root使用者組在許可權上的區別

在系統中是超級管理員,uid 0,擁有最高許可權,除了系統特殊檔案 有 i a 許可權的檔案和目錄 檔案系統問題等情況,能夠操作任何檔案和服務程序。建立普通賬號,使其加入 root 使用者組,可以看到,檔案管理上,root 使用者組合普通使用者組一樣,受限於基本許可權的使用者組許可權限制,包括很多系...

非root使用者安裝tmux

網上大多數是root使用者安裝tmux的方法 我是非root使用者,今天安裝成功了,所以做一下總結 主要參考 但是由於該文中版本不是最新,所以更新一下,而且,改文中有一處不對,在這裡糾正。wget wget wget2 解壓安裝包 tar xzvf tmux 2.9a.tar.gz tar xzvf...

Nginx 非root使用者安裝

springboot vue nginx 前後臺分離web專案部署 nginx 非root使用者安裝 1 準備編譯環境 首先得確保伺服器上有gcc 編譯環境,如果沒有的話。得先yum 安裝下。這個需要root,嘗試非root安裝,還是缺少編譯環境。yum y install gcc yum y in...