在 centos7 编译源码时,遇到报错:
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found`
升级 libstdc++.so.6
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.25 /usr/lib64/libstdc++.so.6
备注:centos7 已停止维护,yum 源中的 libstdc++.so.6 也比较旧,无法通过 yum 升级
本仓库中同时有 x86_64 和 aarch64 两个版本的 libstdc++.so.6 文件,可直接下载使用(亲测可用)。
使用 file 命令可以查看 .so 文件的架构,如下所示:
file x86_64/libstdc++.so.6.0.26
x86_64/libstdc++.so.6.0.26: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, with debug_info, not stripped
file aarch64/libstdc++.so.6.0.25
aarch64/libstdc++.so.6.0.25: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, with debug_info, not stripped
上面的 .so 文件已通过 ClamAV 的 clamscan 命令扫描,均 OK。
clamscan -r --bell libstdc++.so.6.0.26
/data/libstdc-so-for-centos7/x86_64/libstdc++.so.6.0.26: OK
----------- SCAN SUMMARY -----------
Known viruses: 8707886
Engine version: 0.103.11
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 13.37 MB
Data read: 12.56 MB (ratio 1.06:1)
Time: 17.612 sec (0 m 17 s)
Start Date: 2025:08:07 15:19:29
End Date: 2025:08:07 15:19:46
clamscan -r --bell libstdc++.so.6.0.25
/data/libstdc-so-for-centos7/aarch64/libstdc++.so.6.0.25: OK
----------- SCAN SUMMARY -----------
Known viruses: 8707886
Engine version: 0.103.11
Scanned directories: 0
Scanned files: 1
Infected files: 0
Data scanned: 12.56 MB
Data read: 11.80 MB (ratio 1.06:1)
Time: 17.941 sec (0 m 17 s)
Start Date: 2025:08:07 15:32:00
End Date: 2025:08:07 15:32:18