Ubuntu14.04离线安装gcc-5.3.0
离线安装gcc
- 下载gcc安装包
- 下载相关依赖
- 下载gmp
- 下载mpfr
- 下载mpc
- 编译、安装gcc
- 配置环境变量
拉取的一个虚拟机使用的系统是Ubuntu14.04,gcc版本是4.8.4,由于gcc版本较低,不太支持Libtorch,于是搜寻了许多办法来解决这个问题,以下是最终的解决方法。
下载gcc安装包
首先去相应网站下载gcc的安装包,这里提供一个网站http://www.netgull.com/gcc/releases/,进入该网站后找到想下载的gcc版本,比如我要下载的是gcc-5.3.0,于是点击gcc-5.3.0这个目录,进入后会发现目录中有两个安装包gcc-5.3.0.tar.bz2和gcc-5.3.0.tar.gz,这两个安装包都差不多,下载哪个都行,我下载的是gcc-5.3.0.tar.bz2。
在/home目录下,通过mkdir gcc-build && cd gcc-build命令创建一个gcc-build目录,并进入到该目录。将下载的gcc-5.3.0.tar.bz2移入gcc-build目录并进行解压:
tar -xjvf gcc-5.3.0.tar.bz2
解压后生成一个gcc-5.3.0目录。
下载相关依赖
编译gcc源码时需要安装gmp、mpfr、mpc三个依赖,我们依次进行下载。
下载gmp
首先进入https://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gmp/,然后选择gmp_6.1.0+dfsg.orig.tar.xz进行下载。
将下载好的gmp_6.1.0+dfsg.orig.tar.xz放在gcc-build目录下,通过tar -xf gmp_6.1.0+dfsg.orig.tar.xz命令进行解压,解压后生成gmp_6.1.0+dfsg,同时在gcc-build目录中创建一个temp目录用来编译。
打开终端进入temp目录,依次输入以下命令:
../gmp-6.1.0+dfsg/configure -prefix=/usr/local/gmp-6.1.0+dfsg
make
sudo make install
下载mpfr
进入https://mirrors.ustc.edu.cn/ubuntu/pool/main/m/mpfr4/,选择mpfr4_3.1.4.orig.tar.xz进行下载。
将下载好的mpfr4_3.1.4.orig.tar.xz放在gcc-build目录下并进行解压,然后依次输入以下命令:
rm -r * # 清空temp目录
../mpfr-3.1.4/configure -prefix=/usr/local/mpfr-3.1.4 -with-gmp=/usr/local/gmp-6.1.0+dfsg # 安装mpfr时需要添加依赖关系
make
sudo make install
下载mpc
进入https://mirrors.ustc.edu.cn/ubuntu/pool/main/m/mpclib3/,选择mpclib3_1.0.3.orig.tar.gz进行下载。
将下载好的mpclib3_1.0.3.orig.tar.gz放在gcc-build目录下并进行解压,然后依次输入以下命令:
rm -r * # 清空temp目录
../mpc-1.0.3/configure -prefix=/usr/local/mpc-1.0.3 -with-gmp=/usr/local/gmp-6.1.0+dfsg -with-mpfr=/usr/local/mpfr-3.1.4 # 安装mpc时需要添加依赖关系
make
sudo make install
编译、安装gcc
rm -r * # 清空temp目录
../gcc-5.3.0/configure -prefix=/usr/local/gcc-5.3.0 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++,java,objc -with-gmp=/usr/local/gmp-6.1.0+dfsg -with-mpfr=/usr/local/mpfr-3.1.4 -with-mpc=/usr/local/mpc-1.0.3
make # 这一步需要的时间会比较长
sudo make install
配置环境变量
此时系统存在两个版本的gcc,一个位于/usr/bin/gcc,另一个位于/usr/local/gcc-5.3.0/bin/gcc,输入gcc --version时显示的仍然是旧版本的信息,为了方便使用,我们可以在/usr/bin目录下建立符号链接。
cd /usr/bin
sudo ln -s /usr/local/gcc-5.3.0/bin/gcc gcc53
sudo ln -s /usr/local/gcc-5.3.0/bin/g++ g++53
此时,在/usr/bin目录下会分别多出一个gcc53和g++53可执行文件,当输入gcc53 --version时显示的就是新版本的信息了。
如果想输入gcc --version就显示新版本的信息,我们可以依次输入以下命令:
sudo cp /usr/bin/gcc /usr/bin/gcc4.8.4 # 备份原来的gcc链接
sudo cp /usr/bin/g++ /usr/bin/g++4.8.4 # 备份原来的g++链接
sudo rm /usr/bin/gcc # 删除原来的gcc链接
sudo rm /usr/bin/g++ # 删除原来的g++链接
sudo ln -s /usr/local/gcc-5.3.0/bin/gcc /usr/bin/gcc # 建立新的gcc链接
sudo ln -s /usr/local/gcc-5.3.0/bin/g++ /usr/bin/g++ # 建立新的g++链接
此时再输入gcc --version,显示的就是新版本信息。
对于库的路径同样需要设置一下,这样保证在调用库函数的时候可以适用到新版编译器的库函数,通过sudo vim /etc/profile命令打开文件,添加如下内容:
export LD_LIBRARY_PATH=/usr/local/gcc-5.3.0/lib:/usr/local/gcc-5.3.0/lib64:$LD_LIBRARY_PATH
保存退出后,重新启动系统,使变量生效。
至此,gcc-5.3.0的安装工作全部完成!
相关文章:
Ubuntu14.04离线安装gcc-5.3.0
离线安装gcc 下载gcc安装包下载相关依赖下载gmp下载mpfr下载mpc 编译、安装gcc配置环境变量 拉取的一个虚拟机使用的系统是Ubuntu14.04,gcc版本是4.8.4,由于gcc版本较低,不太支持Libtorch,于是搜寻了许多办法来解决这个问题&#…...
axios返回几种数据格式? 其中Blob返回时的size是什么意思?
axios返回几种数据格式? 其中Blob返回时的size是什么意思? 1、字符串(String):服务器可以返回纯文本或HTML内容,Axios会将其作为字符串返回。 2、JSON(JavaScript Object Notation)ÿ…...
【GO语言基础】基本数据类型
系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录数据类型数值型:整数类型:浮点数类型: 字符型-布尔型-字符串零值转义字符 常用类型转换运算符总结 数据…...
【Python】OpenCV立体相机配准与三角化代码实现
下面的介绍了使用python和OpenCV对两个相机进行标定、配准,同时实现人体关键点三角化的过程 import cv2 as cv import glob import numpy as np import matplotlib.pyplot as pltdef calibrate_camera(images_folder):images_names = glob.glob(images_folder...
通过Idea或命令将本地项目上传至git
通过Idea或命令将本地项目上传至git 一、Git创建仓库 1、登录Gitee账号,点击新建 2、填写如下相关信息,点击创建 3、在此处可以复制项目链接 二、Idea配置和解绑git,提交项目 1、idea打开项目,操作如下 2、在弹框里选择…...
python selenium 爬虫教程
Python和Selenium是很强大的爬虫工具,可以用于自动化地模拟浏览器行为,从网页中提取数据。下面是一个简单的使用Python和Selenium进行爬虫的案例。 入门: 1. 安装和配置: 首先,你需要安装Python和Selenium。可以使用…...
Linux基础知识及常见指令
Linux简介及相关概念 什么是Linux? Linux是一个免费开源的操作系统内核,最初由Linus Torvalds于1991年创建。它是各种Linux发行版(通常称为“发行版”)的核心组件,这些发行版是完整的操作系统,包括Linux内…...
分享一个基于Python和Django的产品销售收入数据分析系统源码
💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…...
UniTask保姆级教程
目录 一、UniTask的简介和安装 https://github.com/Cysharp/UniTask.gitpathsrc/UniTask/Assets/Plugins/UniTask 空载性能测试 二、基础用法详解 三、基础用法扩展 四、进阶 五、VContainer简介 六、VContainer基础实例 方便快速查找 一、UniTask的简介和安装 项目地…...
uni-app 可视化创建的项目 移动端安装调试插件vconsole
可视化创建的项目,在插件市场找不到vconsole插件了。 又不好npm install vconsole 换个思路,先创建一个cli脚手架脚手架的uni-app项目,然后再此项目上安装vconsole cli脚手架创建uni-app项目 安装插件 项目Terminal运行命令:npm…...
HOperatorSet.GenRandomRegions 有内存泄漏或缓存,释放不掉
开发环境 VS2022 win7 halcon12 halcon18 随机生成100个园 不释放 private void butTemp_Click(object sender, EventArgs e) { butTemp.Enabled false; HOperatorSet.SetSystem("clip_region", "false"); …...
一维数组笔试题及其解析
Lei宝啊 :个人主页 愿所有美好不期而遇 前言: 数组名在寻常情况下表示首元素地址,但有两种情况例外: 1.sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小 2.&数组名,这里的…...
微信小程序源码
1:仿豆瓣电影微信小程序 https://github.com/zce/weapp-demo 2:微信小程序移动端商城 https://github.com/liuxuanqiang/wechat-weapp-mall 3:Gank微信小程序 https://github.com/lypeer/wechat-weapp-gank 4:微信小程序高仿QQ…...
Browserslist 信息和配置使用整理
我们可以在各种前端工程看到 Browserslist 的配置身影,看似简单但实际上可能会有暗坑导致线上兼容问题,借此文来整理下 Browserslist 的信息。 Browserslist 是由 Autoprefixer 团队维护的一个开源项目,用于自动处理 CSS 和 JavaScript 文件…...
Matlab 如何选择采样频率和信号长度
Matlab 如何选择采样频率和信号长度 1、概述 在实际信号分析中经常会遇到要分辨出频率间隔为 的两个分量,在这种情形中如何选择采样频率和信号的长度呢? 2、案例分析 设有一个信号由三个正弦信号组成,其频率分别为 ,即…...
TPTU: Task Planning and Tool Usage of Large Language Model-based AI Agents
本文是LLM系列文章,针对《TPTU: Task Planning and Tool Usage of Large Language Model-based AI Agents》的翻译。 TPTU:任务规划和工具使用的LLM Agents 摘要1 引言2 方法3 评估4 相关工作5 结论 摘要 随着自然语言处理的最新进展,大型语言模型&…...
【Spring IoC容器的加载过程】
加载配置文件 Spring IoC容器的配置通常以XML形式存储,并通过ResourceLoader和XmlBeanDefinitionReader类来加载。ResourceLoader主要负责加载Bean配置文件,而XmlBeanDefinitionReader则负责解析这些文件,将Bean定义封装为BeanDefinition对象…...
C++多文件类的声明与实现
...
16 “count(*)“ 和 “count(1)“ 和 “count(field1)“ 的差异
前言 经常会有面试题看到这样的问题 “ select count(*) ”, “ select count(field1) ”, “ select count(1) ” 的效率差异啥的 然后 我们这里 就来探索一下 这个问题 我们这里从比较复杂的 select count(field1) 开始看, 因为 较为复杂的处理过程 会留一下一些关键的调试…...
【云原生进阶之PaaS中间件】第一章Redis-1.4过期策略
1 设置带过期时间的 key # 时间复杂度:O(1),最常用方式 expire key seconds# 字符串独有方式 setex(String key, int seconds, String value)除了string独有设置过期时间的方法,其他类型都需依靠expire方法设置时间&a…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
