centos7 升级 glibc && gcc
环境 cenos7(X86_64) 为了验证 mmap()一些功能需要升级glibc版本, 顺便把gcc一起升级一下 升级gcc 预安装包 安装过程中需要makeinfo, 先安装下texi2html, texinfo yum install texi2html texinfo 安装gcc wget https://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz tar zxvf gcc-10.1.0.tar.gz cd gcc-10.1.0/ mkdir build cd build /configure --enable-languages=c,c++ --disable-multilib make && make install 验证 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=... Target: x86_64-pc-linux-gnu Configured with: ../configure --enable-languages=c,c++ --disable-multilib Thread model: posix Supported LTO compression algorithms: zlib gcc version 10.1.0 (GCC) 升级glibc 预安装包 我的机器上是要求安装最新的make, 网上有需要升级ld, 的下载安装binutils就可以了 wget https://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz tar zxvf make-4.3.tar.gz cd make-4.3 mkdir build ./configure make && make install cp /usr/bin/make make.backup ln /usr/local/bin/make /usr/bin/make 安装glibc wget http://ftp.gnu.org/gnu/glibc/glibc-2.31.tar.gz tar -xvf glibc-2.31.tar.gz mkdir glibc-2.31/build cd glibc-2.31/build ../configure --prefix=/usr --with-headers=/usr/include --with-binutils=/usr/bin make make install 问题 make install 报错 /usr/bin/perl scripts/test-installation.pl /tmp/glibc-2.31/build/ /usr/bin/ld: cannot find -lnss_test2 ... LD_SO=ld-linux-x86-64.so.2 CC="gcc -B/usr/bin/" /usr/bin/perl scripts/test-installation.pl /tmp/glibc-2.31/build/ /usr/bin/ld: /lib/../lib64/libnss_nis.so: undefined reference to '_nsl_default_nss@GLIBC_PRIVATE' 可以从上面脚本信息看到是 scripts/test-installation.pl 有报错, 进去看一下, 主目录下的 Makefile ...