源码安装前准备
下载地址 ftp://gcc.gnu.org/pub/gcc/releases/
我选择了 gcc-6.1.0 的版本
解压进源码上当,新建目录 gcc_build
cd /home/gcc-6.1.0
mkdir gcc_build
gcc依赖 mpfr gmp mpc isl
有现成的脚本,只需执行下源码中的 ./contrib/download_prerequisites
如果下载比较慢,可以先用迅雷先下载好解压到 /home/gcc-6.1.0中
修改脚本,注释掉脚本中 wget下载命令,执行下
./contrib/download_prerequisites
编译安装
cd gcc_build
../configure --prefix=/usr/local/gcc6.1 --enable-bootstrap --enable-languages=c,c++,go --with-system-zlib --disable-multilib
make
make install
编译参数最好还是看文档加搜索百科下
文档传送门: https://gcc.gnu.org/install/configure.html
../configure --prefix=/usr/local/gcc6.1 \ #指定安装目录,这样与原系统中gcc版本不会冲突。
--enable-bootstrap \ #自举,用第一次编译出版本再编译第二、第三次
--enable-languages=c,c++,go \ #需要编译的语言 用逗号连接不要有空格, 例如还可以选择java
--with-system-zlib \
--disable-multilib #不需要多平台支持
编译完要等会....
安装好后
添加 gcc g++ go等命令的软连接到 /usr/bin/
ln -s /usr/local/gcc6.1/bin/gcc /usr/bin/gcc6.1
ln -s /usr/local/g++6.1/bin/g++ /usr/bin/g++6.1
ln -s /usr/local/gcc6.1/bin/go /usr/bin/go
最后添加动态库到系统环境中
echo "/usr/local/gcc6.1/lib64" > /etc/ld.so.conf.d/gcc6.1.conf
ldconfig
验证下
gcc6.1 --version
写个golang 的hello world
vim hello.go
package main
import "fmt"
func main() {
fmt.Printf("Hello,GO!\n")
}
go run hello.go
--------------------------------------------------END-----------------------------------------------------
源码安装mysql5.6、node.js 4.4.7时都需要 gcc 4.8以上版本
编译设置下环境变量
CC=gcc6.1 CXX=g++6.1