解决GLIBC_2.x找不到的编译问题
glibc是gnu发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。
glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
RedHat比如6.7甚至7.0自带的还是glibc2.12,当低版本的系统编译一个新软件特性的时候,可能会出现GLIBC_2.12 not found
的情况。
如报错版本:
/lib64/libc.so.6: version `GLIBC_2.14' not found
strings /lib64/libc.so.6 |grep GLIBC
可以看到最高支持2.12版本,没有2.14版本,这时我们需要下载2.14或者更高版本
官方下载各个版本glibc的网址:
http://ftp.gnu.org/gnu/glibc/
将下载好的2.15版本拷贝到/usr/local/tools目录下,在root模式下解压
tar -zxvf glibc-2.15.tar.gz
cd glibc-2.15
mkdir glibc-build-2.15
cd glibc-build-2.15
执行:
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin/
执行make,等待运行一会即可;
make install
提示install成功即可:
Your new glibc installation seems to be ok
查看glibc所在的共享库:
ll /lib64/libc*
可以看到2.12的旧库文件还在,多了2.15版本的库文件,而且软链接文件全部指向了2.15版本
再次查看RedHat支持的版本,多了2.15版本
这时就可以重新编译该新版本的软件,比如python、vivado等。
—END—