技术解析

libc.so.6 升级一直无法成功,有解吗?
0
2021-06-21 05:01:44
idczone
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 不是什么问题哈)还是哪里不对呢?
别作死,系统 libc 不要随便升
用一个隔离的环境跑 tensorflow 吧

https://www.v2ex.com/t/217070
怎么用隔离的环境呢?求方案。
看起来不同版本的 linux,成功升级的几率不一样。

glibc 升级还是注意点,最好是用用包升级

有一次成功再 rhel7 上更新过,当时测试正常。后来又不行了。感觉配置环境每次都要耗费很久时间啊,有没有现成的机器学习和深度学习环境呢?

用包如何升级?只学到了用编译的。。。。。

搞深度学习这种新玩意就别用 rhel 这种古老的系统了,各种程度上折腾
想办法用 systemd-nspawn 跑个 arch 容器,或者直接 nvidia-docker 算了

yum -y update glibc ?

为啥说 rhel 古老捏?
你说的容器是个好主意,有没有好的教程呢

yum -y update glibc 提示没包可升级。

rhel 7 是 2014 年发行的,你说老不老
关键词都给你了,自己搜一下就好

像搭建一个环境,每次都是搞半天,有没有可以直接拿来用的呢。。。。

你要做的是升级系统,而不是升级 glibc。

有 https://github.com/floydhub/dl-docker

rhel 7.6 貌似还可以吧。。。

谢谢。我学习一下。bitnami 好多可以拿来即用的 ova,可惜没做一个深度学习的

不要作死升级 glibc。作为一个生产环境升级过的人,表示系统绝对会崩,而且只有重装这条路

用 docker

确实崩了过,好在没有重启。又重新更换了回来。

用 docker 正解。还是换个 OS 吧,rhel 装个 docker 都麻烦的不行

升 libc 是本末倒置,最早我也试图升过,后来想想,为了一个程序的依赖去破坏其它所有程序的依赖,问题不是很大嘛
docker 正解。linux docker 开销很小的

/>10 楼已经说过了,RHEL 7 是 2014 年发行的。别说 7.6,就是 7.998 ,那也是 2014 年发行的。
如果 Tensorflow 需要 glib 2.23 ,而 RHEL 7 没有 glibc 2.23+,那说明 Tensorflow 不支持 RHEL 7,你需要删掉你的系统,然后换一个支持的版本。
而且你有没有想过,你装上了 glibc 2.23 以后,整个系统里那么多依赖 glibc 2.17 的软件怎么办?

升 libc=死 ×
换系统 /docker √

我建议你了解一下
scl-utils
devtoolset-7
安装一个独立的 gcc 环境,替换 libc 有危险

yum install scl-utils
yum install devtoolset-7
scl enable devtoolset-7 bash

那么换什么系统? linux 好多版本,哪个会更好点?

支持你要用的软件的,就比不支持你要用的软件的,要好一点。
比如说他支持 Ubuntu 16.04+ (这个是 2016 年发行的,比 RHEL 7.x 新 2 年),那你装个 16.04 或者 18.04 就是很好的。

除了 ubuntu 之外还有可选吗?有点对 ubuntu 天生敌意捏?

centos 可以不(貌似和 rhel 一样)? debian 可以不?

Anaconda 呗,然后 export LD_LIBRARY

就是在 anaconda 上 conda install 的 tensorflow。不过 exoport LD_LIBRARY 怎么用呢?稳定不?

Manjaro:一种不同的野兽》。---研究了下 linux,真实太多版本了,从未听过。。。。

上 docker+1

libc 是不能升级的,LD_LIBARY 并不能生效
除非用更高级的方式,例如 chroot (不确定),container

就等 RHEL8 正式版了

TF 官方文档:
我们在以下 64 位系统上测试过 TensorFlow 并且这些系统支持 TensorFlow:
Ubuntu 16.04 或更高版本
Windows 7 或更高版本
macOS 10.12.6 (Sierra) 或更高版本(不支持 GPU )
Raspbian 9.0 或更高版本

升级 libc 有系统崩溃的可能,概率还挺大,不要问我怎么知道的- -!

当然用容器更方便,主机上只有装好 docker 跟显卡驱动,环境镜像里已经打包好。
https://www.tensorflow.org/install/docker

也是 期待 8 版本,话说为啥 openbsd 是不是被隔绝在大数据、人工智能之外了?貌似上 docker 都难。
docker,那么宿主机用哪个版本的 Linux ?选择困难。真是很多版本的
这个更高级的形式有点。。。。container 也是容器?
看着好像很多 dl,ml 的 docker image,就是哪个社区比较好,支持比较多。https://github.com/ufoym/deepo 这个看着很好啊。不知道大家都用什么

感谢宝贵信息,看来如果不用 docker 非 ubuntu 莫属。
如果用 dockers 呢

理论上新点的系统都能用,刚开始还是用 Ubuntu 的 lts 版本吧( 18.04/16.04 ),用得人最多,软件官方支持,用户踩坑分享的教程也多。

真的勇士,敢于升级 libc
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服