Linux手动安装gcc-8.3.0

Linux系统自带GCC源中gcc版本太低,推荐手动安装gcc8.3.0
手动安装gcc8.3.0之前需要先确保安装gcc环境依赖GMP 4.2+ 、 MPFR 2.3.1+ 、 MPC 0.8.0+,否则会报出以下错误

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+. 
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations. 

如果报错:

error while loading shared libraries: libmpfr.so.6: cannot open shared object file: 
No such file or directory

解决方案参考:
参考1
参考2
我们在mpfr4.0.2已经下了动态库,在 /usr/local/mpfr-4.0.2 路径下的lib文件夹中。
将这里面的 libmpfr.so.6.0.2 移动到 /usr/lib 下。
vi /etc/ld.so.conf #添加库的路径include /usr/local/lib/
然后终端命令行执行ldconfig,再重新编译。

安装GMP 6.1.2

注:有时候没有权限需要手动下载时,直接复制wget后的链接在浏览器打开即可

下载GMP安装包

wget http://mirror.hust.edu.cn/gnu/gmp/gmp-6.1.2.tar.xz

解压GMP安装包

tar -Jxf gmp-6.1.2.tar.xz

创建GMP安装路径

mkdir -p /usr/local/gmp-6.1.2

配置安装文件

cd gmp-6.1.2

./configure --prefix=/usr/local/gmp-6.1.2

编译源码

make

安装

make install

安装MPFR4.0.2

下载MPFR 安装包

wget http://mirror.hust.edu.cn/gnu/mpfr/mpfr-4.0.2.tar.xz

解压MPFR安装包

tar -Jxf mpfr-4.0.2.tar.xz

创建MPFR安装路径

mkdir -p /usr/local/mpfr-4.0.2

配置安装文件

cd mpfr-4.0.2

./configure --prefix=/usr/local/mpfr-4.0.2 --with-gmp=/usr/local/gmp-6.1.2

编译源码

make

安装

make install

安装MPC1.1.0

下载MPC 安装包

wget http://mirror.hust.edu.cn/gnu/mpc/mpc-1.1.0.tar.gz

解压MPC安装包

tar -zxf mpc-1.1.0.tar.gz

创建MPC安装路径

mkdir -p /usr/local/mpc-1.1.0

配置安装文件

cd mpc-1.1.0

./configure --prefix=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2

编译源码

make

安装

make install

上述全部安装完成后,安装GCC8.3.0

下载gcc安装包

wget mirror.hust.edu.cn/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz

解压gcc安装包

tar -zxf gcc-8.3.0.tar.gz

创建gcc安装路径

mkdir -p /usr/local/gcc-8.3.0

配置安装文件

cd gcc-8.3.0

后面的--with-gmp, --with-mpfr and/or --with-mpc选项一定要是相应安装的路径,否则会报出和上边同样的错误

./configure --prefix=/usr/local/gcc-8.3.0 --disable-multilib --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2 --with-mpc=/usr/local/mpc-1.1.0

编译

make

make完成后,make install

make install

ln -s /usr/local/gcc-8.3.0 /usr/local/gcc

配置环境变量

export PATH=/usr/local/gcc/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/gcc/lib64:/usr/local/gmp/lib:/usr/local/mpfr/lib:/usr/local/mpc/lib:$LD_LIBRARY_PATH

export MANPATH=/usr/local/gcc/share/man:$MANPATH

查看gcc版本,判断gcc是否安装成功

gcc --version

make 过程需要3个小时左右,make install过程需要一个小时左右,安心等待即可

设置配置文件(原文链接)

设置centos环境变量,可以用export命令,也可以通过修改文件形式实现,本文以lavavel需要设置环境变量为例,将 /root/.config/composer/vendor/bin 路径加到 PATH
一、临时生效
export PATH=$PATH:/root/.config/composer/vendor/bin1
使用 export 设置的变量,只对当前终端 Shell 有效,也就是说如果新打开一个终端,那这个 export 设置的变量在新终端中是无法读取到的。适合设置一些临时变量
二、通过修改配置文件
首先是设置全局环境变量,对所有用户都会生效:
1、/etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。 2、/etc/bashrc: 当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。

  • ~/.bash_profile 或 ~/.profile: 只对单个用户生效,当用户登录时该文件仅执行一次。用户可使用该文件添加自己使用的 shell 变量信息。另外在不同的LINUX操作系统下,这个文件可能是不同的,可能是 ~/.bash_profile, ~/.bash_login 或 ~/.profile 其中的一种或几种,如果存在几种的话,那么执行的顺序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如 Ubuntu 系统一般是 ~/.profile 文件。
  • ~/.bashrc: 只对单个用户生效,当登录以及每次打开新的 shell 时,该文件被读取。
    此外,修改 /etc/environment 这个文件也能实现环境变量的设置。 /etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。 注:系统是先执行/etc/environment,再执行/etc/profile
    以修改/etc/profile 为例:
PATH="$PATH:/root/.config/composer/vendor/bin"
export PATH12

执行 source /etc/profile1 使其立即生效。 如果想多加个路径yourpath1,在将“:yourpath1” 加载path后面,如:

PATH=”$PATH:/root/.config/composer/vendor/bin:yourpath1"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342