编译gcc-8.3

由于目标版本上的gcc工具很低(gcc version 4.8.5 ),此版本下无法编译驱动,故通过编译gcc-8.3源码的方式升级gcc版本;步骤如下:

1、下载gcc源码,国内通过阿里开源镜像站下载,选择合适版本:

gnu-gcc安装包下载_开源镜像站-阿里云

2、执行./contrib/download_prerequisites。如果成功ok,如果失败。则需要分别下载download_prerequisites文件内的四个软件压缩包;

由于我的环境下载gmp失败,故直接通过网页下载gmp,连接如下:

Index of /pub/gcc/infrastructure

contrib/download_prerequisite 文件的内容如下:

gmp='gmp-6.1.0.tar.bz2'

mpfr='mpfr-3.1.4.tar.bz2'

mpc='mpc-1.0.3.tar.gz'

isl='isl-0.18.tar.bz2'

base_url='ftp://gcc.gnu.org/pub/gcc/infrastructure/'

3、分别编译这四个包(要先编译gmp);分别执行configure; make; make install;

由于采用默认参数,编译的包会放在/usr/local目录下,所以需要加环境变量:

vi ~/.bash_profile

增加:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

然后使生效:

source ~/.bash_profile

4、编译gcc,执行:

复制代码
./configure--enable-shared --enable-threads=posix --enable-languages=c,c++,fortran --disable-multilib

make -j80

make install

会自动替换系统默认的gcc。执行完毕,再看gcc版本已经变为8.3。

相关推荐
叼烟扛炮4 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb5 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮6 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
水饺编程7 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰7 小时前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
倔强的石头1067 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
GeW8 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库
PellyKoo9 小时前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu
Fruiticecake10 小时前
epoll 回显服务器是怎么工作的:从 accept 队列到就绪链表,以及它和 select / poll 的区别
linux
承渊政道11 小时前
Linux网络学习【从NAT与代理服务理解网络转发、探索内网穿透原理、再到认识DNS与ICMP、最后动手部署并测试内网穿透】
linux·网络·学习·内网穿透·dns·nat