ubuntu18.04 安装 glibc2.27
准备
简述
ubuntu18.04本身已经携带glibc2.27版本,由于在工作中,需要高版本编译程序的支持。在懵懂中,进行了glibc-2.29的安装,导致系统环境被修改,存在一定的异常和错误。
写下此篇,来介绍ubuntu安装glibc版本流程,供通用参考。借以glibc-2.27版本为例。
关键词:linux、ubuntu18.04、glibc 安装、glibc-2.27
提示:利用glibc源码安装或者重装,其中主要是明确源码下载地址和“小心”编译流程。
ubuntu glibc下载地址: https://launchpad.net/ubuntu/+source/glibc
glibc-2.27下载地址:https://launchpad.net/ubuntu/+source/glibc/2.27-3ubuntu1.6
下载内容:glibc_2.27.orig.tar.xz,glibc_2.27-3ubuntu1.6.debian.tar.xz,glibc_2.27-3ubuntu1.6.dsc
说明:在ubuntu glibc地址下载的源码,补丁文件才是系统真正携带的。在gnu下载的源码还是有差异的。
构建
1.将xxx.orig.tar.xz,xxx.debian.tar.xz,xxx.dsc文件放置在同目录下,使用dpkg-source
进行补丁安装。
dpkg-source -x glibc_2.27-3ubuntu1.6.dsc
2.进入glibc-2.27源码,创建独立临时目录,运行configure
命令进行配置。
$ cd glibc-2.27/
$ mkdir -p build && cd build
$ $GLIBC_PATH/configure --prefix=/usr
$ make
$ make check
注意
- configure默认安装路径在
--prefix=/usr/local/
。linux/unix不允许该路径,则需要调整到--prefix=/usr
下。如果要强制使用该路径,则添加configure的配置项--disable-sanity-checks
- 千万不要随意执行: make install
dsc使用参考:https://www.lesca.cn/archives/copile-source-package-on-ubuntu.html
构建过程参考gnu glibc手册:https://sourceware.org/glibc/wiki/Testing/Builds
安装
千万不要随意执行: make install
参考gnu glibc手册就可以了,由于我需要替换有glibc-2.29导致的异常,我需要安装到/usr/local目录。
$ make install DEST=/usr/local
总结
如果需要用某个glibc版本进行编译程序,千万别盲目升级和安装系统里的版本。编译完成后,单独安装在某个单独的目录中,用户使用的时候,指定路径进行链接到用户程序即可。详细的请参考gnu glibc手册。