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万+

从零开始,用Cadence Virtuoso手把手仿真一个1.5V LDO(附完整电路与仿真脚本)

本文详细介绍了如何使用Cadence Virtuoso从零开始仿真一个1.5V LDO,包括环境准备、电路导入、Testbench构建、核心仿真类型分析以及高级调试技巧。通过完整的电路与仿真脚本,帮助读者掌握LDO设计与仿真的关键技术,提升电路设计能力。

weixin_31309419的博客 445

地平线天工开物AI开发平台实战:从量化训练到模型部署的完整指南

本文提供了地平线天工开物(OpenExplorer)AI开发平台的实战指南,详细解析了从量化训练到模型部署的完整流程。文章重点对比了量化感知训练(QAT)与训练后量化(PTQ)两条核心路径的优劣与适用场景,并分享了图像分类模型PTQ部署的实战经验与常见问题调试技巧,旨在帮助开发者高效地将AI模型部署到地平线AI芯片上。

weixin_29046035的博客 456

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

CANoe.Diva实战:基于CDD的UDS诊断自动化测试全流程解析

本文详细解析了使用CANoe.Diva进行基于CDD的UDS诊断自动化测试的全流程,包括环境搭建、CDD文件配置、测试范围设置、用例生成与验证、CANoe集成测试及报告分析。通过实战经验分享,帮助工程师快速掌握诊断自动化测试技巧,提升测试效率与质量。

weixin_29258297的博客 218

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

VC Spyglass:Lint实战指南之TCL脚本自动化解析

本文详细介绍了如何利用TCL脚本实现VC Spyglass Lint检查的自动化流程。通过实战指南,从基础脚本编写到高级参数化技巧,帮助数字IC设计工程师摆脱手动操作,提升验证效率,并实现与CI/CD流程的集成。

h3i4j的博客 796

03 Aras Innovator二次开发-服务端方法(二)

Aras Innovator二次开发-服务端方法书写

企业信息化(PLM,ERP.MES) 2017

嵌入式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

DeepBSA实战指南:从安装到基因组分析的全流程解析

本文详细解析了DeepBSA工具从安装到基因组分析的全流程,特别介绍了其简化生物信息学分析的'一键式'操作和独家深度学习算法。通过实战案例展示了DeepBSA在信噪比处理和QTL定位上的优势,并提供了Linux和Windows系统的安装避坑指南、数据预处理技巧以及算法选择建议,帮助用户高效完成基因组分析。

weixin_28732953的博客 443

Linux编译安装GCC-5.1.0

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

weixin_34309543的博客 146

【AUTOSAR-IpduM】-3.1-配置一个发送Tx Dynamic Container PDU(Multiple-PDU)

手把手教您如何配置一个Tx Dynamic Container PDU(Multiple-PDU),动态容器复用帧。并附上测试LOG帮助您进一步加深理解。

「汽车电子助手」的博客 1770

PX4从放弃到精通(二十一):使用git管理PX4代码

文章目录前言一、设置git密钥二、将代码上传至gitee 前言 Ubuntu 18.04 PX4 1.11.3 由于github有时网速较慢,本文使用gitee。 一、设置git密钥 ssh-keygen -t rsa -C “your_email@youremail.com” your_email@youremail.com为自己注册的gitee账户邮箱.设置路径与密码时,也直接回车不设置,如下图,密钥生成的位置在红框处. 在密钥目录下按Ctrl+H显示隐藏文件,进入.ssh文件夹用gedit打开id

超维空间科技的博客 3478

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

【亲测免费】 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、付费专栏及课程。

余额充值