如何在Linux下手动编译安装gcc
如果可以通过apt来安装的话,尽量不要手工编译了,手工编译是最后的选择。用apt安装,只需要输入一条命令:
sudo apt-get install gcc
手工编译的话,gcc和其他软件包存在如下的依赖关系:

因此各个软件包的安装顺序是m4 --> gmp --> mpfr --> mpc --> gcc。编译之前,请先下载各软件包的源码压缩包。
编译
各个软件包的编译步骤大同小异,这里以m4为例。假设下载的m4文件名为m4-1.4.16.tar.gz,存放在~/gcc_depend目录下。先进入到存放目录,解压:
cd ~/gcc_depend
tar zxvf m4-1.4.16.tar.gz
我们把m4安装到/usr/local目录下。先创建目录,并运行配置文件,生成Makefile
sudo mkdir /usr/local/m4-1.4.16 # 创建安装目录
cd /usr/local/m4-1.4.16 # 切换到安装目录
sudo ~/gcc_depend/m4-1.4.16/configure --prefix=/usr/local/m4-1.4.16 # 通过configure脚本来生成Makefile
编译,这一步在安装目录下完成:
sudo make
sudo make install
编译完成后,检查是否有误:
sudo make check # 编译和运行测试用例
如果所有测试用例都pass了,说明编译成功。
其他软件包的编译过程大致如此,总结为如下几步:
- 1、解压源码
- 2、创建安装目录,并切换到安装目录,通过configure脚本来生成Makefile
- 3、编译
- 4、检查测试用例
注意事项
- 1、安装mpfr时,可能会提示找不到gmp,这个时候要在
--prefix=安装目录后再加上--with-gmp=/usr/local/gmp-xxx,其中gmp-xxx为gmp安装目录;安装mpc时可能会有同样的问题,也要这样处理。 - 2、 每次安装完一个包,要把安装目录下的lib目录添加到环境变量
LD_LIBRARY_PATH中。
如何在Linux下手动编译安装gcc的更多相关文章
- linux 下手动编译安装无线网卡驱动
先参照 <本地yum源安装GCC >安装好gcc hp的笔记本上安装了CentOS6.3,没有安装无线网卡驱动,安装这个驱动,在Google上找了好多资料,最后终于解决了这个问题.在这里做 ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- CentOS手动编译安装gcc
最近尝试了fedora.ubuntu.mint.debian.opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯.现在CentOS的最新版本为 ...
- fedora下手动编译安装vim
据说手动编译安装可以更适合自己的电脑哦- 1.首先,我门要下载源文件,下载地址:ftp://ftp.vim.org/pub/vim/unix/ 选择一个最新版本,我这里选择的是 vim-7.4.tar ...
- Linux 下Nginx编译安装
Untitled .note-content {font-family: 'Helvetica Neue', Arial, 'Hiragino Sans GB', STHeiti, 'Microsof ...
- Linux下memcache编译安装与基本使用
memcache是一套分布式的高速缓存系统,特点为key-value 存储 一.在 linux 编译安装memcache.redis等,需要 gcc,make,cmake,autoconf,libto ...
- Linux下手动编译shogun
手动编译shogun,如果按照直接按照官网上的步骤进行,会踩非常多的坑,下面分享一下在下的编译过程,希望能为阁下提供些许借鉴. 1. git clone https://github.com/shog ...
- 如何在linux平台上编译安装zlib软件(公司部分线上机器缺少zlib不能安装supervisor)
文章在Centos 6.5 linux平台上演示一下如何进行编译安装zlib软件,并配置相关的选项加载使用.示范从下载到安装并配置进行使用过程一系列整套讲解,希望可以给网友考虑使用,谢谢. 工具 ...
- C++ Boost在Windows和Linux下的编译安装
再debian下直接apt-get install gcc g++就可以了.按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 差了一下,原来这个包的名字叫 ...
随机推荐
- HDU 2243 考研路茫茫——单词情结 ( Trie图 && DP && 矩阵构造幂和 )
题意 : 长度不超过L,只由小写字母组成的,至少包含一个词根的单词,一共可能有多少个呢?这里就不考虑单词是否有实际意义. 比如一共有2个词根 aa 和 ab ,则可能存在104个长度不超过3的单词, ...
- 字符串截取模板 && POJ 3450、3080 ( 暴力枚举子串 && KMP匹配 )
//截取字符串 ch 的 st~en 这一段子串返回子串的首地址 //注意用完需要根据需要最后free()掉 char* substring(char* ch,int st,int en) { ; c ...
- Laya 使list渲染支持分帧的思路
Laya 使list渲染支持分帧的思路 @author ixenos 2019-09-06 1.由于Laya的list渲染时没有做分帧处理,只做了延迟帧处理,所以当单页元素较多时,会有大量运算卡帧的情 ...
- jdk7.x对Jenkins上的SonarQube Plugin的支持不足,替换方式
Jenkins.war放在Tomcat7下,完成各种配置,包括Jenkins中JDK,Maven,Git等. 最初的配置为Tomcat7, JDK7.x. 因为要在Jenkins上安装SonarQub ...
- Redis实现存取数据+数据存取
添加依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId> ...
- WeakHashMap 源码分析
WeakHashMap WeakHashMap 能解决什么问题?什么时候使用 WeakHashMap? 1)WeakHashMap 是基于弱引用键实现 Map 接口的哈希表.当内存紧张,并且键只被 W ...
- MySQL-default设置
Both statements insert a value into the phone column, but the first inserts a NULL value and the sec ...
- 用Vue来实现音乐播放器(十八):右侧快速入口点击高亮
问题一:当我们点击右侧快速入口的时候 被点击的地方高亮 首先我们要知道右侧快速入口是为什么高亮??因为当watch()监控到scrollY的变化了的时候 将scrollY的值和listHeight ...
- centos安装mycat(支持mysql8连接)
1.参考前文安装jdk 2.官网 http://www.mycat.io/ 或 http://dl.mycat.io/ 下载 mycat1.6.7 release 版本 3.解压安装 cd /usr/ ...
- thinkphp5.0学习笔记(一)基础知识与URL访问
1.目录结构: 其中thinkphp子目录是框架核心目录 thinkphp结构: 2.入口文件 默认自带的入口文件位于public/index.php 应用目录为application,其结构: in ...