内容目录
需求原因
有台ARM64 debian10开发板运行程序提示
GLIBCXX_3.4.26 not found
GLIBCXX_3.4.29 not found
GLIBC_2.32 not found
GLIBC_2.29 not found
ubuntu 22.04 跑是正常的,看了下是gcc 11.4.0
所以升级GCC 11.4.0,也适用非arm 机器
后面先写正常的流程,最后附录一些报错处理
下载解压压缩包
#不检查证书 不然由于公司网络政策 或 服务器时间不对可能证书错误
wget https://ftp.gnu.org/gnu/gcc/gcc-11.4.0/gcc-11.4.0.tar.xz --no-check-certificate
tar -xvf gcc-11.4.0.tar.xz
wget http://ftp.gnu.org/gnu/glibc/glibc-2.35.tar.gz
tar -zxvf glibc-2.35.tar.gz
其他版本:https://ftp.gnu.org/gnu/gcc/
安装依赖
apt-get install -y bison flex gnat expect binutils gawk
编译安装
参考文章:https://bbs.huaweicloud.com/blogs/241366
glibc
cd glibc-2.35
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.35 --disable-sanity-checks
make
make install
gcc
cd gcc-11.4.0
#在contrib目录下,执行download_prerequisties文件,可自动下载安装依赖。如果其中某个依赖包下载失败,可根据下文离线方式单独编译安装依赖。
./contrib/download_prerequisites
#生成Makefile文件 (prefix后为安装路径,自定义安装路径,安装成功后要添加环境变量)
./configure --prefix=/usr/local/gcc-11.4.0
make
make install
报错
1
E: Failed to fetch http://mirrors.ustc.edu.cn/debian/pool/main/libn/libnet-ssleay-perl/libnet-ssleay-perl_1.85-2+b1_arm64.deb 404 Not Found [IP: 218.104.71.170 80]
页面
https://packages.debian.org/buster/libnet-ssleay-perl
大陆下载地址
apt-get install -y perl-openssl-abi-1.1
wget http://ftp.cn.debian.org/debian/pool/main/libn/libnet-ssleay-perl/libnet-ssleay-perl_1.85-2+deb10u1_arm64.deb
#执行这一步需要依赖于上面安装的 perl-openssl-abi-1.1
dpkg -i libnet-ssleay-perl_1.85-2+deb10u1_arm64.deb
近期评论