Ubuntu 18.04 升级 glibc-2.29 导致异常如何还原?

查看 208|回复 19
0xroot
OP
  
@msg7086 咨询了一下开发者,确实是需要 20.04
@findex 感谢解答,第一次踩 glibc 的坑
seers   
@Chingim 冷知识,golang 运行时依赖 glibc ,但是只要不是上古版本基本上都能跑
lcdtyph   
@seers #11
冷冷知识,golang build 的时候设置 CGO_ENABLED=0 可以运行时也不依赖 glibc
FranzKafka95   
@lcdtyph 冷啥知识,只要有 CGO 就对 glibc 有依赖,再开启 CGO 的情况下又想避免 glibc 版本依赖,还得使用静态链接。
FranzKafka95   
golang 某些库是必然依赖 cgo ,如 net, os/user 还有 sqlite
FranzKafka95   
@seers ubantu18.04 的 glibc 版本好像是 2.27 ,某些 golang 库跑不了
wwqgtxx   
@FranzKafka95 net 从 N 个版本开始就不依赖 cgo 了,至于 sqlite 也有 pure go 的版本,哪有什么必然依赖的
wwqgtxx   
net 关于 CGO 的文档: https://pkg.go.dev/net#hdr-Name_Resolution
sqlite 的 pure go 版本: https://pkg.go.dev/modernc.org/sqlite
lcdtyph   
@FranzKafka95 我当然知道 cgo 与 c runtime 的依赖,我只是在回复那一层说 golang 运行时依赖 libc
feather12315   
依赖 glibc 的,是因为动态链接 glibc 时指定了 glibc 的版本( objdump -T xxx 可以看到 @glibc-xx )。
为啥这么指定?因为涉及 abi 兼容性。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部