背景
比如 Centos 7 支持的最高 glibc 版本是 2.17,但是我有一个可执行程序 clangd,它最低需要 glibc 2.18 版本,升级 glibc 影响太大,但是我又想运行 clangd (前提 clangd 只差 glibc,不是差非常多库)
办法
1、手动编译 glibc
下载 glibc 2.25
Index of /gnu/glibc/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
我研究过,glibc 源码里有个 install 文件(里面记录了编译 glibc 的依赖),在 glibc 2.26 时,它需要 gcc 4.9 以上,只有 glibc 2.25 需要 gcc 4.7 以上,glibc 2.25 差不多是不升级 gcc 的最后一个版本(Centos 7 一般用的 gcc 都是 4.8.5 版本)
编译命令
cd glibc-2.25/
mkdir build
cd build
../configure --prefix=/home/test/myglibc (改成你想安装的路径)
make -j4 && make install
2、执行我们的可执行程序
执行命令
# ./ld-2.25.so 可执行程序
/home/test/myglibc/lib/ld-2.25.so ../../clangd_16.0.2/bin/clangd --version
我们可以制作脚本 ($@ 是参数列表)
#!bin/bash
/home/test/myglibc/lib/ld-2.25.so 可执行程序 $@
1220

被折叠的 条评论
为什么被折叠?



