libc.so.6 升级一直无法成功,有解吗?

2019-04-19 12:25:21 +08:00
 sjmcefc2
1.问题:rhel7 安装 tensorflow,提示 glibc-2.23 缺失,于是开始升级 libc.so.6
2.编译安装略过 /usr/local/glibc-2.23/ 。出现一个 warning。拷贝 libc-2.23.so 到 lib64 下面
3.开始替换
1 )
cd /lib64
2 )
LD_PRELOAD=/lib64/libc-2.17.so rm libc.so.6
3
LD_PRElOAD=/lib64/libc-2.23.so ln -s /lib64/libc-2.23.so /lib64/libc.so.6
第 3)步总是出错,而且提示不成功,只能重新软连接回去。。。。。

是编译有错(觉得一个 warning 不是什么问题哈)还是哪里不对呢?
9704 次点击
所在节点    Linux
80 条回复
zycpp
2019-04-19 16:17:13 +08:00
真的勇士,敢于升级 libc👍
sjmcefc2
2019-04-19 16:26:24 +08:00
哇咔咔 @zycpp 感觉网上帖子误导不少人纳
chcx
2019-04-19 16:34:41 +08:00
官方源,yum update 能升的就都给你升了
artandlol
2019-04-19 16:51:19 +08:00
去找 centos7.4 版本的镜像,镜像里面的 Packages 里面搜索 glibc 和 nscd 的 rpm 包装上就可以。glibc 可以多版本共存,因为你一卸载系统几乎是挂了,多版本可以用你的那个软链接指定
sjmcefc2
2019-04-19 17:08:03 +08:00
@artandlol centos7 会比 rhel7 更新一些?
luassuns
2019-04-19 17:43:44 +08:00
昨天 Debian 8 遇到同样问题,一气之下直接换到 9 的源然后 full upgrade,居然没挂还升级成功了
junjieyuanxiling
2019-04-19 18:02:21 +08:00
@sjmcefc2 #38 Docker 利用 Linux 核心中的资源分离机制,例如 cgroups,以及 Linux 核心名字空间(英语:Linux namespaces )( namespaces ),来创建独立的容器( containers )。-- https://zh.m.wikipedia.org/zh-cn/Docker

BSD 能用才有鬼了。
openbsd
2019-04-19 18:03:24 +08:00
@sjmcefc2 #38
OB 主打安全,不过 BSD 在推广上确实被 Linux 甩太远了
sjmcefc2
2019-04-19 21:21:48 +08:00
@luassuns 运气真好。可是这个真有点碰运气。

@junjieyuanxiling 是啊 bsd 有点落后了
@openbsd 其实还可以做的更多,多精致的系统啊,效率也很高,很稳定

话说有没有什么地方可以直接 docker 各种开发环境的啊,感觉每次配置环境都要搞半天。。。。
sjmcefc2
2019-04-19 21:22:24 +08:00
看 docker 的文档,貌似 centos 安装起来最简单。
msg7086
2019-04-19 22:19:51 +08:00
@sjmcefc2 BSD 和 Linux 不完全兼容。很多为 Linux 开发的软件要放到 BSD 上运行可能需要移植。
Docker 在 BSD 上还处于实验性阶段,建议还是 Linux 为好。

话说官方的 Docker 镜像也是基于 Ubuntu 做的,所以你要么在 Docker 里用 Ubuntu,要么直接在母机上用。

除了 Ubuntu 的话那就是和他爹 Debian。Debian 如果再不喜欢的话就只能 Windows 10 了。

Debian 9 相当于 Ubuntu 17.04~17.10 ,正好落在 16.04 和 18.04 中间,所以应该也是能顺利跑的。

@luassuns Debian 跨版本升级还是很靠谱的。
YRodT
2019-04-19 22:28:28 +08:00
如果你有其他选择,请更换系统

如果没有,依然是可能做到的,我就在古老的 centos 6 上成功安装并运行了新版 tf 和 pytorch

参照 https://zhuanlan.zhihu.com/p/33059558,切记不要直接替换系统 glibc,而是使用 export LD_LIBRARY_PATH 或修改 bashrc,这样每次重新登录不会导致 ls 等基础命令挂掉。同时配合 patchelf 可以完美运行。

在你执行每个命令前,务必明确了解原理和后果
sjmcefc2
2019-04-19 22:30:08 +08:00
@msg7086 docker 是基于 ubuntu 裁剪的?这样理解对不 /
在 docker 的安装文档里面,貌似 Ubuntu 的安装比 centos 更麻烦一些?不知道为何。
debian 比较爱。不过超爱 bsd 啊,可惜了了。
sjmcefc2
2019-04-19 22:33:00 +08:00
@YRodT 非常感谢。换系统倒也可以,不过还是很想知道这里面的原因。好文章,值得仔细看。另外想着,大家都用什么显卡做 gpu 计算啊,
feikaras
2019-04-19 22:39:50 +08:00
@sjmcefc2 glibc 是系统基础组建启动的基础啊,所以不要升级只能外挂。版本不对 dll 是动态链接挂不起来的当然会挂掉。vb6 vb5 的 runtime 和 vc 的 03 05 xxx 到 18 runtime 不是都是每个版本要装的。为啥不能直接用最新版的道理一样的。
acrisliu
2019-04-19 22:40:48 +08:00
可以试试 ArchLinux
wwhc
2019-04-19 22:45:03 +08:00
楼主换滚动升级的发行版吧,比如 Gentoo,升级 glibc 和吃饭似的
ThirdFlame
2019-04-19 22:46:46 +08:00
@sjmcefc2 docker 是个容器,不是说是基于 ubuntu 裁剪的 。 镜像 也有 centos 啊 其他的发行版啊。
sjmcefc2
2019-04-19 22:51:05 +08:00
@ThirdFlame docker 一般的资源啊论坛啊,能介绍一下吗?搜索了一下自己常用的 https://www.rocker-project.org/images/ 好像也都不是最新的哈,还有哪里有 image 的资源和介绍呢。

@wwhc 这个。。。感觉自己能力不够哈。升挂了就歇菜
yuikns
2019-04-19 22:53:50 +08:00
https://blog.argcv.com/articles/4601.c

以前干过一次貌似没啥问题。
不过现在不用容器是有特殊要求么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/556737

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX