【亲测成功】Ubuntu18.04升级GLIBC2.27——解决报错:/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found
事件背景
本人Ubuntu、QT皆小白。担心最新版本QT的资料太少,所以决定先自学较新版本的QT5.15。
查看QT官网对于QT5.15的介绍,了解到Linux系统平台最低需要Ubuntu18。于是,参考教科书1中的做法,用VisualBox作为虚拟机,从Ubuntu官网下载了Ubuntu18.04的安装镜像文件,很顺利地安装了Ubuntu18.04操作系统。
但是,在线安装QT5.15的时候,系统报错:libc.so.6: version `GLIBC_2.28’ not found (required by /Qt/Tools/QtCreator/bin/…/lib/Qt/lib/libQt6Core.so.6)
升级GLIBC_2.27至2.28的血泪史
通过查找资料,要解决问题就需要GLIBC_2.28。但是,Ubuntu18.04默认的GLIBC版本是2.27。显然,需要升级GLIBC。
1、查看GLIBC版本
执行命令:ldd --version
或者:直接运行/lib/x86_64-linux-gnu/libc.so.6
可以看到Ubuntu18.04预装GLIBC_2.27。
ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1.4) 2.27
Copyright (C) 2018 自由软件基金会。
这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性
或者适合某些特殊目的。
由 Roland McGrath 和 Ulrich Drepper 编写。
2、下载GLIBC
到http://ftp.gnu.org/gnu/glibc/下载所需版本。目前最高版本是2.34。
我这里下载了glibc-2.28.tar.gz 这个版本。主要是担心版本太高需要更高版本的编译器、链接器等工具。目前,只要满足够用就好。
3、失败历程(一)
我按照网友介绍的步骤,本以为可以顺利地解压、新建目录、配置……,结果系统提示缺少编译工具。失败!
解决办法:
安装编译工具链。在网上找了很久,先是一条一条指令地安装gcc、g++、c++、bison、gawk。后来搜索网页,发现有博客教授方法,具体如下:
默认的Ubuntu存储库包含一个名为build-essential的元包,它包含GCC编译器以及编译软件所需的许多库和其他实用程序。该命令将安装一堆新包,包括gcc,g ++和make。
# 执行以下步骤安装GCC Compiler Ubuntu 18.04:
$ sudo apt update
$ sudo apt install build-essential
$ gcc --version
4、失败历程(二)
把GLIBC2.28安装到Ubuntu系统的自定义目录中,很容易。
但是,要使GLIBC2.28成为Ubuntu系统的默认库就不容易了。
第一次安装时,把GLIBC2.28很安全地安装到非系统目录,例如/opt。步骤如下:2
$ tar xvf glibc-2.28.tar.gz
$ cd glibc-2.28
$ sudo mkdir build
$ cd ./build
$ sudo ../configure