編譯centos6.5:glibc 升級2.14問題


第一種:不需要 ln 創建軟連接,缺點嘛,就是直接安裝到系統文件夾/lib64下,想換回來就比較麻煩。(我選擇的第二種,因為公司需要fpm打包,寫到腳本里面,第一種之間安裝在/usr目錄下,打包的包安裝時會替換所安裝機器的/usr 可能會導致機器不能用)

 

# 下載 glibc 2.14源碼
wget wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
# 解壓上一步下載后的源碼
tar xvf glibc-2.14.tar.gz && cd glibc-2.14
# 在源碼文件夾下創建一個build文件夾,編譯生成的文件都放在此文夾下
mkdir build && cd build

# 如果是新機器,需要安裝編譯依賴
yum install gcc gcc-c++

# 在源碼文件夾下創建一個build文件夾,編譯生成的文件都放在此文夾下
mkdir build && cd build
# configure的時候,不能直接在解壓目錄configure
../configure --prefix=/usr 
# 編譯安裝
make -j4 && make install 


# 檢驗是否成功
ls -l /lib64/libc.so.6  
lrwxrwxrwx 1 root root 12 Jul 23 16:17 /lib64/libc.so.6 -> libc-2.14.so

如果有一下報錯可以忽略

/usr/bin/ld: cannot find -lnss_test1 
collect2: ld returned 1 exit status 
Execution of gcc -B/usr/bin/ failed!

通過

strings /lib64/libc.so.6 |grep GLIBC

查看是否正常

 

 

 

第二種方法:需要創建軟鏈

# 前幾步都一樣,不同的是編譯時候指定目錄
../configure --prefix=/usr/local/glibc-2.14
make && make install

# 安裝好之后 創建軟鏈,要加-f 否則可能無法替換
ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6


# 如果不小心刪除  /lib64/libc.so.6 軟鏈,並有如下報錯:
xx: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory

解決方法
ldconfig

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM