离线模式下载安装gcc-4.8.5

2024-04-25 17:44

本文主要是介绍离线模式下载安装gcc-4.8.5,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一,下载gcc离线安装包

二,下载gcc依赖包

三,安装gcc

1,  解压

2, 将依赖库放置环境

3, 安装

3.1自动安装

3.1.1 执行依赖库的编译

3.1.2 新建编译目录     

3.1.3 配置编译环境

3.1.4 编译

3.1.5 安装

3.2  手动安装

3.2.1 安装GMP-4.3.2

3.2.2 安装mpfr

3.2.3 安装mpc  

3.2.4 编译

 3.2.5 编译

3.2.6 安装

四,配置gcc、g++ 到当前环境

4.1 先查看已有gcc或g++版本

4.2 查看gcc的软链接

4.3 软链接到新安装版本路径

4.4 由libasan.so引起的异常


一,下载gcc离线安装包

gcc官网地址:https://gcc.gnu.org/

进入官网,选择Download/Mirrors

点击 GNU FTP

拉到下方 找到 Downloading GNU software

选择gcc

找到需要下载的版本,进行下载

二,下载gcc依赖包

        安装环境无外网的情况下,需要手动下载依赖包(有网,则不需要该步骤),一般是三个依赖包:mpc,gmp,mpfr,下载地址都是从gcc官网进入,需要下载的版本是gcc安装包解压后的文件(gcc-4.8.5/contrib/download_prerequisites)中,配置的版本(要大于等于该版本)


        mpc下载地址:https://ftp.gnu.org/gnu/mpc/

        gmp下载地址:https://ftp.gnu.org/gnu/gmp/

        mpfr下载地址:https://ftp.gnu.org/gnu/mpfr/

        有的版本需要有isl依赖包,

isl下载地址:http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/

三,安装gcc

1,  解压

将下载的文件拷到环境上解压

tar -zxvf gcc-4.8.5.tar.gz

2, 将依赖库放置环境

将下载好的依赖项(mpc,gmp,mpfr),放入gcc-4.8.5目录下

3, 安装

3.1自动安装

        按照依赖库的版本,将./contrib/download_prerequisites文件中信息更改,并且将(wget的下载操作注释掉),如果是有网络的情况下,可以不用手动下载依赖包,直接执行。

3.1.1 执行依赖库的编译
cd gcc-4.8.5
./contrib/download_prerequisites

3.1.2 新建编译目录     
mkdir gcc-build-4.8.5
3.1.3 配置编译环境
cd  gcc-build-4.8.5../gcc-4.8.5/configure  --prefix=/usr/local/gcc-4.8.5  --enable-threads=posix  --disable-checking  --disable-multilib --enable--long-long --with-system-zlib  --enable-languages=c,c++

      参数说明:

                --prefix:不覆盖原有的gcc,自定义编译安装路径

                --enable-languages:编译出来gcc支持的语言

3.1.4 编译

        编译gcc、g++,执行后需等待较长时间。

make -j6  

3.1.5 安装

安装到配置目录下

make install

3.2  手动安装

3.2.1 安装GMP-4.3.2

  解压gmp-4.3.2后,得到源代码目录,创建一个临时编译目录temp。

$ tar -jxvf gmp-4.3.2.tar.bz2
$ cd gmp-4.3.2
$ mkdir temp
$ cd temp

        开始配置安装目录,进入temp目录后,输入以下命令:

$ ../configure --prefix=/usr/local/gmp-4.3.2
$ make
$ make install

        这样gmp就安装完成了。安装mpfr和mpc过程也差不多,只是安装的时候得加入依赖项

3.2.2 安装mpfr

  我这里选择的是2.4.2版本的mpfr。解压,建立临时编译目录temp,进入temp目录

$ tar -zxvf mpfr-2.4.2.tar.gz 
$ cd mpfr-2.4.2
$ mkdir temp
$ cd temp
$ ../configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
$ make
$ make install 

        其中--with=/usr/local/gmp-4.3.2就是依赖项, /usr/local/gmp-4.3.2是gmp的安装目录

3.2.3 安装mpc  

        我选择的是1.0.1版本mpc.解压,建立临时编译目录temp,进入temp目录.

$ tar -zxvf mpc-1.0.1.tar.gz
$ cd mpc-1.0.1
$ mkdir temp
$ cd temp
$ ../configure --prefix=/usr/local/mpc-1.0.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
$ make
$ make install

        记得后面两项的依赖项,也就是你的gmp和mpfr的安装目录

3.2.4 编译
$ mkdir gcc-build-4.8.5
$ cd gcc-build-4.8.5
$ /usr/local/gcc-4.8.5/configure --prefix=/usr/local/gcc-4.8.5 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-1.0.1

记得加上后面三个依赖项,否则会出刚开始出现的错误的。

 3.2.5 编译

        编译gcc、g++,执行后需等待较长时间。

make -j6  

3.2.6 安装

安装到配置目录下

make install

四,配置gcc、g++ 到当前环境

4.1 先查看已有gcc或g++版本

which gcc

gcc --version

4.2 查看gcc的软链接

cd /usr/bin/
ls -l gcc*

        则系统实际使用的gcc路径  /usr/bin/gcc-4.8.2

4.3 软链接到新安装版本路径

修改gcc、g++ 软链接到新安装版本路径

 ln -snf  /usr/local/gcc-4.8.5/bin/gcc   /usr/bin/gccln -snf  /usr/local/gcc-4.8.5/bin/g++   /usr/bin/g++

4.4 由libasan.so引起的异常

 错误信息:

undefined reference to '_asan_init_v4' 是由于gcc编译器版本中的库引入不对

发现环境引用的libasan.so库并不是我们安装gcc版本中的库

进入错误日志中库的目录:/usr/lib/gcc/x86_64-redhat-linux/4.8.5

将libasan_preinit.o和libasan.so 备份之后,建立软连接

mv libasan_preinit.o bak_libasan_preinit.o.240425
mv libasan.so bak_libasan.so.240425In -snf /usr/local/gcc-4.8.5/lib64/libasan_preinit.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libasan_preinit.o
In -snf /usr/local/gcc-4.8.5/lib64/libasan.so /usr/lib/gcc/x86_64-redhat-linux/4.8.5/libasan.so

这篇关于离线模式下载安装gcc-4.8.5的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935365

相关文章

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Tomcat的下载安装与使用教程

《Tomcat的下载安装与使用教程》本文介绍了Tomcat的下载、安装和使用方法,包括在本机和云服务器上部署Tomcat的过程,以及解决启动失败问题的方法... 目录Tomcat的下载安装与使用Tomcat的下载与安装Tomcat在本机运行使用Tomcat在php云服务器上的使用总结Tomcat的下载安装与

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例