記錄一個解決GLIBC_2.18 not found的問題


測試機器, 昨天下午還可用, 晚上報錯, 發現有些命令提示: 

[root@localhost ~]# ldd /home/work/kunlun/output/bin/xpu_smi
/home/work/kunlun/output/bin/xpu_smi: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6)
linux-vdso.so.1 => (0x00007ffc0e528000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f04a4d8e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f04a4b72000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f04a478e000)
libm.so.6 => /lib64/libm.so.6 (0x00007f04a448c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f04a4276000)
libc.so.6 => /lib64/libc.so.6 (0x00007f04a3ea8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f04a4f92000)

因為三方團隊人員都在用這個機器, 問誰都說沒動環境, 自己找原因了. 

1、首先確定是環境問題.

2、查看系統是否有GLIBC_2.18 :

[root@localhost ~]# strings  /lib64/libstdc++.so.6| grep GLIBC_
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.14
GLIBC_2.6
GLIBC_2.4
GLIBC_2.18
GLIBC_2.16
GLIBC_2.3.4
GLIBC_2.17
GLIBC_2.3.2

發現有2.18.

根據報錯信息提示有兩個庫可能有問題: 1、/lib64/libc.so.6  2、/lib64/libstdc++.so.6

分別比對正常機器和異常機器的這兩個lib鏈接, 發現/lib64/libstdc++.so.6 鏈接到了libstdc++.so.6.0.28, 而正常的機器鏈接到了/lib64/libstdc++.so.6.0.19 . 

發現問題了, 就resolve it. 

 ln -sf /lib64/libstdc++.so.6.0.19  /lib64/libstdc++.so.6

再次執行***_smi, 成功顯示顯存信息. 

之后發現GLIBC not found問題, 可以直接看/lib64/libstdc++.so.6 鏈接. 


免責聲明!

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



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