centos 下编译 gcc
2016-01-21 14:34
627 查看
由于PHP7在编译过程需要的GCC版本比较高,而在 wdlinux 中自带的 gcc 版本满足不了PHP7的编译需求,因此这里才有了 gcc 的编译过程
实际上在编译 gcc 的过程中又遇到了好多坑,这才有了这篇文章用于记录整个过程
http://gcc.skazkaforyou.com/releases/
我下载的是 5.3.0 版本,这个是当前日期下的最新版本了
http://gcc.skazkaforyou.com/releases/gcc-5.3.0/gcc-5.3.0.tar.gz
执行结果
![](https://img-blog.csdn.net/20160121141523473)
从上图可以看到,这里需要几个 with 选项,命令写全后如下
到这里后可以先跳到 安装 GMP、MPFR、MPC 查看,如果都已经安装完成,就可以执行配置过程了,仅仅执行上面的命令,会得到这样的错误提示
![](https://img-blog.csdn.net/20160121143039728)
需要关闭 multilib,新命令如下
再执行配置过程
![](https://img-blog.csdn.net/20160121143237428)
返回 creating Makefile 表示配置过程成功执行
发现编译没过,表示汗一个,会提示错误信息让打开 config.log 查看日志,如下提示
因此,需要修改环境变量 LD_LIBRARY_PATH, 命令为
然后再执行编译过程即可,程序编译完成后执行命令
再执行
查看版本号
![](https://img-blog.csdn.net/20160122174549699)
MPFR
MPC
各个的配置的过程如下
GMP
MPFR
MPC
注意:执行命令前,请确定自己所在的目录是否为各自的模块源码目录
即可完成安装
实际上在编译 gcc 的过程中又遇到了好多坑,这才有了这篇文章用于记录整个过程
安装 GCC
下载
先到这里去找一个新版本的 gcc 源码,大家可以自行到 gcc 官网查找地址,这里使用这个地址下载,主要是考虑的下载速度问题http://gcc.skazkaforyou.com/releases/
我下载的是 5.3.0 版本,这个是当前日期下的最新版本了
http://gcc.skazkaforyou.com/releases/gcc-5.3.0/gcc-5.3.0.tar.gz
配置
可以先执行一下./configure
执行结果
从上图可以看到,这里需要几个 with 选项,命令写全后如下
./configure --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc
到这里后可以先跳到 安装 GMP、MPFR、MPC 查看,如果都已经安装完成,就可以执行配置过程了,仅仅执行上面的命令,会得到这样的错误提示
需要关闭 multilib,新命令如下
./configure --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc --disable-multilib
再执行配置过程
返回 creating Makefile 表示配置过程成功执行
编译并安装
make && make install
发现编译没过,表示汗一个,会提示错误信息让打开 config.log 查看日志,如下提示
“when loading shared libraries:libmpc.so.3:cannot open shared object file: No such file or directory”.
因此,需要修改环境变量 LD_LIBRARY_PATH, 命令为
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc/lib:/usr/local/gmp/lib:/usr/local/mpfr/lib
然后再执行编译过程即可,程序编译完成后执行命令
source /etc/profile
再执行
gcc -v
查看版本号
安装 GMP、MPFR、MPC
那么等号后面的这几个路径是从哪里来的呢?这里就需要先安装这几个文件下载
GMPMPFR
MPC
配置
因为各个模块之间都有依赖关系,因此这里需要先安装 GMP , 再安装 MPFR , 最后再安装 MPC,各个的配置的过程如下
GMP
./configure --prefix=/usr/local/gmp
MPFR
./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp
MPC
./configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr
编译并安装
所有的编译命令都是同样的,执行命令如下make && make install
注意:执行命令前,请确定自己所在的目录是否为各自的模块源码目录
写在最后的:
上面的编译过程是延续了老版本的安装风格,在网上查阅了多个资料并验证后发现在 gcc4.4版本以及当前编译版本 gcc5.3.0中均有 contrib/download_prerequisites,因此,可以省略下载安装 GMP,MPC,MPFR的过程,直接执行命令/usr/src/gcc-5.3.0/contrib/download_prerequisites
即可完成安装
相关文章推荐
- 在Windows平台下使用安装GCC(图)
- linux使用gcc编译c语言共享库步骤
- C/C++编译器GCC下的常用编译命令总结
- GCC 编译c程序的方法及过程解析
- Glusterfs的编译选项 #pragma GCC poison system popen
- 【笔记】CentOS上源码安装GCC 4.8.2
- 【笔记】CentOS
- RHEL 4.7 (64bit) 环境安装 GCC 4.6 测试记录 (更新至gcc-4.6.1)
- GCC 5 即将发布
- [转载]Visual Studio, GCC, Clang, Intel 对 C++11 特性的支持一览表
- C++爱好者博客
- gcc工具的运用
- gdb的运用
- GCC内联汇编(1)Get started
- GCC内嵌汇编
- g++编译 参数 .
- RHEL5.3 gcc rpm包安装
- linux GCC 64位编程技巧
- linux gcc 区分32位或64位编译