記錄一個解決GLIBC_2.18 not found的問題
阿新 • • 發佈:2022-03-31
測試機器, 昨天下午還可用, 晚上報錯, 發現有些命令提示:
[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 連結.