某次作者编译软件时报错:
version `GLIBC_2.17' not found (required by ./bin/tikv-server)
错误信息大概是说缺少 glibc_2.17这个库。
解决办法:
(1)首先保证程序没有被strip,也就是说可执行程序含有符号表信息。
出现这个问题的原因是glibc的版本太低,查看系统glibc支持的版本
>strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
....
GLIBC_2.12
(发现其中确实没有GLIBC_2.17)
(2)使用反汇编命令objdump -p 查看执行软件库文件版本等信息
>objdump -p ./bin/***
(3)nm 命令显示关于指定 File 中符号的信息
>nm ./bin/*** | grep GLIBC_2.17
U secure_getenv@@GLIBC_2.17
发现secure_getenv()这个函数使用了GLIBC_2.17
查看此时ldd的版本,发现只为2.12