编译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。

相关推荐
tntxia13 小时前
linux curl命令详解_curl详解
linux
扛枪的书生15 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸18 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode1 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫1 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux