Linux 下编译安装 gcc 5.4.0

ubuntu安装gcc5.4版本,亲测有效! ubuntu系统安装gcc5.4版本1.查看gcc,g++版本2.安装gcc5.4版本2.1 源码安装(已有gcc-5.5的版本前提下失败)2.2 使用软件包安装(成功)2.2.1 首先添加软件源2.2.2 查看有哪个具体版本的gcc-53.查看安装是否成功4.参考链接: 起初系统中安装了gcc5.5版本,后来为了安装cartographer,将gcc降为5.4版本 1.查看gcc,g++版本 # gcc --version # g++ --version 2.安装gcc5.4版本 因为一开始有gcc5. 阅读详情
AI摘要

本文详细介绍了如何从源码编译安装GCC5.4.0版本,包括解压缩、创建安装目录、配置安装参数、解决依赖库问题及版本切换等关键步骤。

以 gcc 5.4.0 版本为例,介绍用源码来编译安装 gcc 的方法

一、安装 gcc

1、解压缩

把 gcc-5.4.0.tar.gz 拷贝到系统中的某个目录,比如 /usr/local/src,并解压到此目录:

tar zxf gcc-5.4.0.tar.gz

2、创建安装目录

gcc 的安装目录一般是 /usr/local/gcc-5.4.0,关于此目录的含义可以参考:https://blog.youkuaiyun.com/lina_acm/article/details/78224656

mkdir /usr/local/gcc-5.4.0/
mkdir /usr/local/src/gcc-5.4.0/build  # build 目录用来存放 Makefile 等文件

3、配置安装文件

通过执行 configure 来配置 gcc 安装安装到什么位置、支持什么语言等等:

cd /usr/local/src/gcc-5.4.0/build
/usr/local/src/gcc-5.4.0/configure  \
--prefix=/usr/local/gcc-5.4.0  \
--enable-threads=posix  \
--disable-multilib  \
--enable-languages=c,c++
# --prefix=/usr/local/gcc-5.4.0  指定安装路径
# --enable-languages=c,c++       支持的编程语言
# --enable-threads=posix         使用POSIX/Unix98作为线程支持库
# --disable-multilib             取消多目标库编译(在64位系统中是取消32位库编译)

更多的参数说明可以在 configure 参数中加上 -h 来显示

如果出现如下错误,说明需要安装 GMP、MPFR、MPC 这三个库,可以按照后面第二部分的说明来安装:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.

安装完三个依赖的库之后,重新执行 configure,不过要加上三个库的安装路径作为参数:

cd /usr/local/src/gcc-5.4.0/build
/usr/local/src/gcc-5.4.0/configure  \
--prefix=/usr/local/gcc-5.4.0  \
--enable-threads=posix  \
--disable-multilib  \
--enable-languages=c,c++  \
--with-gmp=/usr/local/gmp-6.1.0  \
--with-mpfr=/usr/local/mpfr-3.1.4  \
--with-mpc=/usr/local/mpc-1.0.3

4、安装 gcc

cd /usr/local/src/gcc-5.4.0/build
make -j4
make install

-j 参数用来设置多线程编译
make 执行的时间很长

5、切换 gcc 版本

先确认一下当前 gcc 的版本,然后改成其它名字,不然后面的步骤不生效:

/usr/bin/gcc -v
...
gcc 版本 4.9.2 20141101 (Red Hat 4.9.2-1) (GCC) 
...
mv /usr/bin/gcc /usr/bin/gcc-4.9.2

用 alternatives 命令添加 gcc 版本:

alternatives --install  /usr/bin/gcc  gcc  /usr/bin/x86_64-redhat-linux-gcc  50
alternatives --install  /usr/bin/gcc  gcc  /usr/local/gcc-5.4.0/bin/gcc  40

alternatives --install <链接> <名称> <路径> <优先度>
优先级用在 auto 模式下,数字越大优先级越高

输入数字选择版本:

[root@localhost bin]# alternatives --config  gcc

共有 2 个提供“gcc”的程序。

选项 命令

*+ 1           /usr/bin/x86_64-redhat-linux-gcc
   2           /usr/local/gcc-5.4.0/bin/gcc

按 Enter 保留当前选项[+],或者键入选项编号:2

*表示优先级最高的,+表示当前系统使用的
更多参数可以直接输入 alternatives 来显示

最后确认一下:

gcc -v

同理设置一下 g++ 的版本

6、其它

在实际使用中还有一些其它操作需要完成,详见第三部分
.

二、安装 GMP、MPFR、MPC

可以自动安装依赖,在 gcc 解压后的根目录执行如下命令即可:

./contrib/download_prerequisites

使用自动安装则不用在 configure 的参数中填写这三个库的路径,手动安装见下
.
.

MPFR 依赖 GMP,而 MPC 依赖 GMP 和 MPFR,所以要先安装 GMP,其次 MPFR,最后才是 MPC
以解压到 /usr/local/src/ 目录、安装到 /usr/local/ 目录为例

1、安装 gmp-6.1.0

tar jxf gmp-6.1.0.tar.bz2
mkdir /usr/local/gmp-6.1.0
mkdir /usr/local/src/gmp-6.1.0/build
cd /usr/local/src/gmp-6.1.0/build
/usr/local/src/gmp-6.1.0/configure --prefix=/usr/local/gmp-6.1.0/
make
make install

2、安装 mpfr-2.4.2

tar jxf mpfr-3.1.4.tar.bz2
mkdir /usr/local/mpfr-3.1.4
mkdir /usr/local/src/mpfr-3.1.4/build
cd /usr/local/src/mpfr-3.1.4/build
/usr/local/src/mpfr-3.1.4/configure --prefix=/usr/local/mpfr-3.1.4 --with-gmp=/usr/local/gmp-6.1.0
make
make install

3、安装 mpc-0.8.1

tar zxf mpc-1.0.3.tar.gz
mkdir /usr/local/mpc-1.0.3
mkdir /usr/local/src/mpc-1.0.3/build
cd /usr/local/src/mpc-1.0.3/build
/usr/local/src/mpc-1.0.3/configure --prefix=/usr/local/mpc-1.0.3  \
--with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.4
make
make install

.

三、其它问题

1、GLIBCXX_3.4.21 或 CXXABI_1.3.9 找不到

安装完成后,在使用时可能出现如下的错误提示:

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found

这是因为没有用新安装的 gcc 动态库替换旧的,首先确定一下当前使用的动态库内容:

[root@localhost bin]# strings /usr/lib64/libstdc++.so.6 | grep CXXABI
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_TM_1
[root@localhost bin]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

可以看到当前使用的动态库没有包含新的版本,解决方法,用新安装的 gcc 库替换旧的,建立软连接即可:
(根据实际复制 lib、lib64 目录)

cp /usr/local/gcc-5.4.0/lib64/libstdc++.so.6.0.21  /usr/lib64/
rm /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.21  /usr/lib64/libstdc++.so.6

2、某些情况下 g++ 的版本还是没有切换过来

这有可能是因为 c++ 的指向不对,先查看一下当前的 c++:

[root@localhost bin]# which c++
/usr/lib64/ccache/c++
[root@localhost bin]# ll /usr/lib64/ccache/c++
lrwxrwxrwx 1 root root 16 4月  11 2017 /usr/lib64/ccache/c++ -> ../../bin/ccache

删掉旧的 c++,重新建立一个软连接指向 g++ 即可:

mv /usr/lib64/ccache/c++  /usr/lib64/ccache/c++_bak
ln -s /usr/bin/g++  /usr/lib64/ccache/c++

.

Ubuntu14.04下安装gcc5.4.0(亲自安装) 对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧。。。 首先,一般ubuntu上都预装了低级版本的gcc,完全可以应付刷OJ时的C+Class+STL的风格,但有需要为了符合C++11/14标准,只能把编译器升级到最新版本。 安装GCC必备的几个东西: 1.gcc5.4.0的源代码压缩包,下载地址: 镜像站点:https://gcc.gnu.org/mir 阅读详情

相关推荐

ubuntu编译安装gcc-5.4.0及多版本gcc管理

  随着ubuntu系统版本的提高,系统默认安装的gcc/g++版本也比较高。但是,当我们需要用到较低版本的cuda的时候,其支持的gcc/g++版本也较低。比如,cuda9.0只能支持gcc6以下,而cuda8.0则只能支持gcc5以下。 1. 下载   这里以编译gcc5.4.0为例进行介绍。各版本gcc下载地址:Index of /gnu/gcc。如果要下载gcc5.4.0,则进入5.4.0文件夹,然后下载gcc-5.4.0.tar.gz,大小为118MB。 2. 解压   下载好之后,进入下载目录,

zeeq的博客 6015

gcc系列1:gcc-5.4.0源码编译安装

更新操作系统自带的gcc g++

shangjg3的博客 1303

Linux 环境下编译安装GCC 5.4.0

Linux 环境下编译安装GCC 5.4.0

nimizi_2009的博客 847

Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包)

一、下载arm-linux-gcc 5.4.0包 下载(百度云)链接:https://pan.baidu.com/s/1AeqzkboWkJDJjU9HxtXhrA 提取码:uzup 二、在/usr/local目录下新建arm文件夹,并且给予最高权限后进入新建的文件目录里面 root@nandycool-virtual-machine:/usr/local# mkdir arm roo...

nandycooh 3万+

【编号326】全国地灾数据全国25万多个地质灾害点空间分布数据

全国地质灾害点分布数据涵盖25万多个各类灾害点信息,为灾害防治提供重要依据。通过分析灾害分布规律,可识别高风险区,指导监测预警、应急避险和基础设施建设。多地成功案例(如湖北兴山崩塌避险、重庆长寿滑坡预警、湖南"挪床行动")证明,提前预警和科学防治能有效避免人员伤亡。云南省2024年通过预警体系成功避让31起灾害,保护1342人生命安全。这些实践表明,地质灾害防治需结合科技手段与群防体系,实现早预警、早处置。

千奇百怪无奇不有 1472

从机械臂示教到厨房做饭:ACT模仿学习如何让机器人更“人性化”?

本文探讨了ACT(Action Chunking with Transformers)模仿学习技术如何让机器人更“人性化”,特别是在厨房等复杂场景中的应用。通过动作分块(Action Chunking)和时态融合(Temporal Ensemble)技术,机器人能够像人类一样记忆和执行复杂任务,如烹饪。文章还分析了ACT在家庭场景中的落地挑战及其在康复医疗、柔性制造等领域的跨领域应用潜力。

weixin_30613343的博客 255

Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)

文章目录前言下载安装包解压安装包软连接gcc库软连接gcc版本 前言   如有遇到没有网络的情况下可以选择用这种方法来做,前提是要先下载好这个包。 还有一个是可以在有网的情况下做的,就是编译安装; 链接地址:👉Centos7 gcc4.8.5升级到版本gcc5.4.0👈 下载安装包 网盘地址: 链接:https://pan.baidu.com/s/1jSV9Dzy3VvIFyh8qZ8sVpA 提取码:aei1 解压安装包 unzip gcc-5.4.0-编译好的.zip tar xf gcc-5.4.

liu_chen_yang的博客 3451

单细胞空间转录组分析流程学习python版(三)

空转python版学习

zfyyzhys的博客 2085

linux升级gcc5.4.0与glibc2.17

GCC 5.4.0升级 把压缩文件 gcc-5.4.0.tar.bz2 放入/usr/local目录下,并解压 cd /usr/local tar -xvf gcc-5.4.0.tar.bz2 进入gcc-5.4.0目录,并上传以下四个文件到gcc-5.4.0目录下 cd gcc-5.4.0/ 修改配置文件 并执行 vi ./contrib/download_prerequisites 直接跳到...

neko233的博客 1363

头歌MySQL数据库实训答案 有目录

头歌java实训答案集数据库部分一条一条的写,可鼠标手动粘贴,除特定命令外未分大小写。 第1关:创建数据库 第2关创建表 第3关:使用主键约束 第4关:外键约束 第5关:添加常用约束 MySQL数据库 - 数据库和表的基本操作(一) 第1关:查看表结构与修改表名 第2关:修改字段名与字段数据类型 第3关:添加与删除字段 第4关:修改字段的排列位置 第5关:删除表的外键约束 MySQL数据库 - 数据库和表的基本操作(二) 第1关:插入数据 第2关:更新数据 第3关:删除数据 MySQL数据库 - 单表查询(

m0_67401761的博客 4万+

Navicat Premium 12 永久激活保姆级教程(附最新补丁下载)

本文详细介绍了Navicat Premium 12的高效使用方法,从安装配置到高级功能应用,帮助用户充分发挥这款数据库管理工具的全部潜力。内容包括数据库连接管理、数据查询与编辑、数据同步与结构对比等核心功能,以及性能优化和最佳实践建议,提升数据库管理效率。

weixin_28834765的博客 644

嵌入式Linux学习笔记7——Ubuntu18.04安装arm-linux-gcc5.4.0交叉编译工具

①下载arm-linux-gcc-5.4.0(网络搜索或者联系我) ②进入超级用户模式,在/usr/local目录下新建arm文件夹,并设定最高权限。之后进入arm文件夹 1. horse@horse-virtual-machine:~$ sudo su 2. root@horse-virtual-machine:/home/horse# cd /usr/local/ 3. root@ho...

masudong的博客 1083

【实战案例】IBM V3500存储控制器故障诊断与更换全流程解析

本文详细解析了IBM Storwize V3500存储控制器发生故障后的完整处理流程。通过还原真实故障现场,介绍了如何利用服务助手精准定位缓存模块损坏的根源,并逐步指导完成控制器备件准备、核心部件移植更换、系统上线同步及全面功能验证的全过程,为存储运维人员提供了一份实用的实战指南。

weixin_29269441的博客 549

Linux编译安装GCC-5.1.0

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34309543的博客 146

OpenLayers6入门,快速搭建Vue+OpenLayers地图脚手架项目

本章针对Vue初学者,对Vue不熟悉,甚至还不会Vue的入门学生读者。本章会详细讲解从环境到环境的各个步骤,再到使用脚手架快速生成项目,以及添加地图库依赖,编写简单的高德地图显示页面的。如果已有VUE项目或者熟悉VUE的读者可以不用看本章,直接添加ol依赖到VUE项目中即可。

GIS技术方向,GIS地图技术分享(GIS入门、Openlayers教程、Leaflet教程),做最好的GIS地图开发教程。关注博主公众号:eguid 5440

FineBI学习总结

交叉表:一组作为行标题显示在表的左部,另一组作为列标题显示在表的顶部。连接到数据,如果数据不满足数据分析的需求,先进行自助数据集处理。数据集分类:DB表、SQL、Excel、自助数据集。分组表:将报表中的数据按相同项合并为一组显示。1、数据准备2、制作仪表板3、分享仪表板。左合并:保留左边全部数据,合并右边。右合并:保留右边全部数据,合并左边。上下拼接:上下拼接到一张表数据。3、如何实现拼表:多表拼一张。分组–业务包–数据集–字段。字段分类:数值、文本和日期。目录–仪表板–数据准备。维度:文本和日期类型。

Rsun2018的博客 1561

Centos升级gcc至5.4.0

下载、解压源码包(可从官方镜像地址https://gcc.gnu.org/mirrors.html选择适合自己的下载地址与gcc版本) 我选择的是距离杭州最近的节点,下载速度相对快点 wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.4.0/gcc-5.4.0.tar.gz tar xvf gcc-5.4.0.tar.gz cd gcc-5.4.0 ps: gcc与g++的命令目录在/usr/local/bin 下载依赖..

游学四方的博客 412

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ubuntu安装arm-linux-gcc

转载自:https://blog.csdn.net/weixin_42108484/article/details/84295214 一、下载arm-linux-gcc 5.4.0包 下载(百度云)链接:https://pan.baidu.com/s/1AeqzkboWkJDJjU9HxtXhrA 提取码:uzup 二、在/usr/local目录下新建arm文件夹,并且给予最高权限后进入新...

qq_40856614的博客 401

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

centos7如何安装gcc5.4

由于需要使用到cilk plus和std=c++14,所以决定将编译器升级。 基本教程如下: 1.下载GCC源码: wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz 2.解压: tar -zxvf gcc-5.4.0.tar.gz 3.下载编译所需依赖项: cd gcc-5.4.0 ...

fanwenyuan_fwy的专栏 1444

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【亲测免费】 arm-linux-gcc-5.4.0 安装方法

arm-linux-gcc-5.4.0 安装方法 【下载地址】arm-linux-gcc-5.4.0安装方法 本资源文件提供了 arm-linux-gcc-5.4.0 的安装方法,适用于需要在 Ubuntu 系统上安装该交叉编译工具链的用户 ...

gitblog_06501的博客 1071

Linux编译安装 简版

http://www.bkjia.com/Linuxjc/994399.html Linux编译安装GCC-5.1.0 Linux下编写C/C++程序自然缺不了一个优秀的编译器,Linux下比较常见的自然是GCC了。2015年4月下旬GCC也出到了5.1.0版本,对于C++11/14也有了更好的支持了。因为最近在学习OpenMP, Gcc-5.1.0支持OpenMP4.0最新版本。所以,今

没有什么能够阻挡,我对自由的向往! 458

redis5.0.4安装配置

1、下载redis wget http://download.redis.io/releases/redis-5.0.4.tar.gz 2、解压到opt目录 tar -zxvf redis-5.0.4.tar.gz -C /opt/ 3、安装gcc编译工具 yum install gcc gcc-c++ -y 4、进入安装目录 cd /opt/redis-5.0.4/ 5、开始编...

weixin_30522183的博客 271

【linux离线升级gcc版本---gcc4.8.5-->gcc12.2.0】

【linux离线升级gcc版本---gcc4.8.5-->gcc12.2.0】

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2万+
上一篇: Go 中 map 的值不能原地修改,提示 cannot assign to a[2][2]
下一篇: ARP 协议
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值