centos 下编译 gcc
由于PHP7在編譯過程需要的GCC版本比較高,而在 wdlinux 中自帶的 gcc 版本滿足不了PHP7的編譯需求,因此這里才有了 gcc 的編譯過程
實(shí)際上在編譯 gcc 的過程中又遇到了好多坑,這才有了這篇文章用于記錄整個(gè)過程
安裝 GCC
下載
先到這里去找一個(gè)新版本的 gcc 源碼,大家可以自行到 gcc 官網(wǎng)查找地址,這里使用這個(gè)地址下載,主要是考慮的下載速度問題
http://gcc.skazkaforyou.com/releases/
我下載的是 5.3.0 版本,這個(gè)是當(dāng)前日期下的最新版本了
http://gcc.skazkaforyou.com/releases/gcc-5.3.0/gcc-5.3.0.tar.gz
配置
可以先執(zhí)行一下
./configure執(zhí)行結(jié)果
從上圖可以看到,這里需要幾個(gè) with 選項(xiàng),命令寫全后如下
./configure --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc到這里后可以先跳到 安裝 GMP、MPFR、MPC 查看,如果都已經(jīng)安裝完成,就可以執(zhí)行配置過程了,僅僅執(zhí)行上面的命令,會(huì)得到這樣的錯(cuò)誤提示
需要關(guān)閉 multilib,新命令如下
再執(zhí)行配置過程
返回 creating Makefile 表示配置過程成功執(zhí)行
編譯并安裝
make && make install發(fā)現(xiàn)編譯沒過,表示汗一個(gè),會(huì)提示錯(cuò)誤信息讓打開 config.log 查看日志,如下提示
“when loading shared libraries:libmpc.so.3:cannot open shared object file: No such file or directory”.因此,需要修改環(huán)境變量 LD_LIBRARY_PATH, 命令為
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc/lib:/usr/local/gmp/lib:/usr/local/mpfr/lib然后再執(zhí)行編譯過程即可,程序編譯完成后執(zhí)行命令
source /etc/profile再執(zhí)行
gcc -v查看版本號(hào)
安裝 GMP、MPFR、MPC
那么等號(hào)后面的這幾個(gè)路徑是從哪里來的呢?這里就需要先安裝這幾個(gè)文件
下載
GMP
MPFR
MPC
配置
因?yàn)楦鱾€(gè)模塊之間都有依賴關(guān)系,因此這里需要先安裝 GMP , 再安裝 MPFR , 最后再安裝 MPC,
各個(gè)的配置的過程如下
GMP
./configure --prefix=/usr/local/gmpMPFR
./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmpMPC
./configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr編譯并安裝
所有的編譯命令都是同樣的,執(zhí)行命令如下
make && make install注意:執(zhí)行命令前,請(qǐng)確定自己所在的目錄是否為各自的模塊源碼目錄
寫在最后的:
上面的編譯過程是延續(xù)了老版本的安裝風(fēng)格,在網(wǎng)上查閱了多個(gè)資料并驗(yàn)證后發(fā)現(xiàn)在 gcc4.4版本以及當(dāng)前編譯版本 gcc5.3.0中均有 contrib/download_prerequisites,因此,可以省略下載安裝 GMP,MPC,MPFR的過程,直接執(zhí)行命令
/usr/src/gcc-5.3.0/contrib/download_prerequisites即可完成安裝
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的centos 下编译 gcc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 下的 PHP 的编译过程
- 下一篇: 我们靠什么赢得这个时代