version `GLIBC_2.17' not found

@ 今天把一个linux程序布到线上服务器上时,运行不起来,下面是解决思路。

@ 运行程序,报以下错误

root@iZ25uck2l28Z:/tmp/tmp# ./speed_test 
./speed_test: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found (required by ./libchefbase.so)

说明是编译环境与运行环境的glibc版本不匹配导致的,编译环境的gcc版本4.9.0,运行环境为4.6.3

@ 先查看是哪个函数用的是GLIBC_2.17

root@iZ25uck2l28Z:/tmp/tmp# nm libchefbase.so | grep GLIBC_2.17
U clock_gettime@@GLIBC_2.17

@ man clock_gettime,可以看到其中有一句话

Link with -lrt (only for glibc versions before 2.17).

给libchefbase.so库加上-lrt,问题解决。

@ 补充一些相关命令

$objdump -T libchefbase.so | grep GLIBC_2.17
$ldd libchefbase.so
$strings /lib/x86_64-linux-gnu/libgcc_s.so.1 | grep GLIBC_

转载于:https://www.cnblogs.com/q191201771/p/3875316.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值