Centos 6.6 升级 glibc 问题
Centos 6.6 升级 glibc
下载地址: http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz http://ftp.gnu.org/gnu/glibc/glibc-2.16.0.tar.gz
示例:
tar xf glibc-2.16.0.tar.gz cd glibc-2.16.0 mkdir build cd build ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin make 可以有 -j 加快编译 -j 8 例如:make -j$(nproc) make install 查看当前新的glibc版本库 strings /lib64/libc.so.6 |grep GLIBC_
问题1:
glibc 升级 GLIBC_2.14 后指令不能用
示例1: ls: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument 示例2: ls: /lib64/libc-2.12.so: version `GLIBC_2.14' not found (required by /lib64/librt.so.1) 重新指向 libc.so.6 LD_PRELOAD=/lib64/libc-2.14.so ln -sf /lib64/libc-2.14.so /lib64/libc.so.6 LD_PRELOAD=/lib64/libc-2.16.so ln -sf /lib64/libc-2.16.so /lib64/libc.so.6
问题2:系统工具命令不能用;
示例1:glibc 升级 GLIBC_2.16 后 salt 不能用 /usr/bin/python2.7: error while loading shared libraries: __vdso_time: invalid mode for dlopen(): Invalid argument /lib64/libc.so.6: version `GLIBC_2.16' not found (required by /usr/lib64/libstdc++.so.6) 需要重新软链接 libstdc++.so.6 强制软连接 LD_PRELOAD=/lib64/libc-2.16.so ln -sf /lib64/libc-2.16.so /lib64/libc.so.6 ln -fs /usr/lib64/libstdc++.so.6.0.13 /usr/lib64/libstdc++.so.6
问题:Segmentation fault
GLIBC 还原:(centos 6.6 ) 用 LD_PRELOAD 重新加载动态库; 加载的优先级:LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib
export LD_PRELOAD=/lib64/libc-2.12.so LD_PRELOAD=/lib64/libc-2.12.so ln -sf /lib64/libc-2.12.so /lib64/libc.so.6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报