CentOS7升級GLIBC_2.17到GLIBC_2.31

 

因爲需要在linux上調用opencv的4.3的.so,此版本要求linux的glibc版本最低爲GLIBC_2.27,因此需要升級。

注意:Ubuntu 18.4版本自帶的GLIBC就是2.27的。

第一步,當然是升級gcc到9.3,升級make到4.3

解壓,執行../configure --prefix=/usr && make && make install

第二步,安裝python3.4

GLIBC_2.31需要python3.4,CentOS7自帶的python是2.7,不用刪除,直接安裝python3.4即可

從EPEL倉庫安裝

最新的EPEL 7倉庫提供了Python3(python 3.4)的安裝源,如果你使用CentOS7或更新的版本的系統你也可以按照下面的步驟很輕鬆的從EPEL倉庫安裝。

安裝最新版本的EPEL

sudo yum install epel-release

用yum安裝python 3.4:

sudo yum install python34

注意:上面的安裝方法並未安裝pip和setuptools,如果你要安裝這兩個庫可以使用下面的命令:

$ curl -O https://bootstrap.pypa.io/pip/3.4/get-pip.py
$ sudo /usr/bin/python3.4 get-pip.py

最後創建一個軟鏈接

sudo ln -s /usr/bin/python3.4 /usr/bin/python3

至此,GLIBC_2.31編譯源碼時既可以識別出python3

 第三步,升級前需查看當前環境的glibc是否存在符合taos3的版本,若存在則跳過升級,此文檔假設glibc當前最高的版本爲2.17

檢查環境,可能需要安裝如下依賴庫:

yum install bison -y
yum -y install wget bzip2 gcc gcc-c++ glibc-headers

操作如下:

 下載:

wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz

查看安裝編譯依賴:

cd glibc-2.31

cat INSTALL | grep -E "newer|later" | grep "*"

 

 編譯:

mkdir build
 
# 指定安裝到具體的目錄下,此示例表示將make安裝到/opt下
cd build/
../configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks --disable-werror
 
# 編譯安裝
make -j4  # 此處時間較長
make install
# 解決新啓動遠程終端時報一個WARNING
make localedata/install-locales

 

注意:

1.升級glibc存在系統崩潰風險!!!升級前儘可能在個人環境下進行反覆測試,確保無問題後再升級生產環境!

2.當glibc版本爲2.17時千萬不要直接升級到2.25!!!2.17與2.25直接差4個版本(2.18、2.22、2.23、2.24),經反覆測試確認發現直接升級到2.25時不會自動安裝缺失的版本,而2.25又對之前的版本有依賴(個人猜測),強行安裝2.25不但安裝失敗,且會造成系統崩潰、異常(比如無法使用ls、cp等命令,無法進行遠程連接)。
3.經過本人親測,從2.17直接升到2.31是沒有問題的。直接通過!

故障處理

故障現象:假設在glibc2.17時直接升級到glibc2.25,將會出現操作系統崩潰的情況,如:大部分命令不可用、無法遠程登錄、yum報錯等。說明:出現此類問題時千萬不要重啓服務器,不要關閉當前的終端!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章