ubuntu 18.0.4 降级安装gcc 5

背景

项目当前使用的ubuntu版本是 18.04(如何查看当前linux版本见文章最后), 默认安装的gcc版本是7.5.0, 在这环境编译出来的deb包在银河麒麟v10 sp1系统上可以兼容,但是在银河麒麟v10 的OS上会出现兼容性的问(原因是银河麒麟v10上运行的deb需要使用gcc 5进行编译),因此需要在ubuntu 18.04版本上安装gcc 5 的版本

降级安装gcc 5

gcc 的安装有两种方式:
1、通过apt 包管理器进行安装
2、通过源码手动编译安装
ps:linux上可以gcc多版本共存
这里推荐使用第一种方式安装, 源码编译出错,需要安装一系列的依赖,比较复杂。

通过apt 包管理器进行安装

  • 直接安装gcc、g++ 5.4.0 版本,提示找不到版本
    ps:默认的软件源中不包含gcc 5.4.0 版本
root@d8b6c26946f0:/workspace# apt-get install gcc-5.4.0                                                                               
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package gcc-5.4.0
E: Couldn't find any package by glob 'gcc-5.4.0'
E: Couldn't find any package by regex 'gcc-5.4.0'
  • sources.list 中添加软件源地址 deb http://cz.archive.ubuntu.com/ubuntu bionic main universe 其中cz.archive.ubuntu.com/ubuntu 可换成国内的镜像源
// 我使用的软件源地址
deb https://mirrors.cloud.tencent.com/ubuntu/ bionic main universe

之后update,后重新instll

root@d8b6c26946f0:/workspace# apt-get update
root@d8b6c26946f0:/workspace# apt-get install -y gcc-5
root@d8b6c26946f0:/workspace# apt-get install -y g++-5

安装完成后,系统中会同时存在gcc5 和 gcc7,还需要删除原有gcc链接,重新建立软链接,这样在使用gcc的时候使用的就是gcc5的版本了

  • 查看本地gcc 情况
root@d8b6c26946f0:/usr/bin# ll |grep gcc                                                                                                                   
-rwxr-xr-x 1 root root        428 May  7  2006 c89-gcc*
-rwxr-xr-x 1 root root        454 Apr 11  2011 c99-gcc*
lrwxrwxrwx 1 root root          5 May 20  2019 gcc -> gcc-7*
-rwxr-xr-x 1 root root     907648 Apr 11  2018 gcc-5*
lrwxrwxrwx 1 root root         22 Dec  4  2019 gcc-7 -> x86_64-linux-gnu-gcc-7*
lrwxrwxrwx 1 root root          8 May 20  2019 gcc-ar -> gcc-ar-7*
-rwxr-xr-x 1 root root      31264 Apr 11  2018 gcc-ar-5*
lrwxrwxrwx 1 root root         25 Dec  4  2019 gcc-ar-7 -> x86_64-linux-gnu-gcc-ar-7*
lrwxrwxrwx 1 root root          8 May 20  2019 gcc-nm -> gcc-nm-7*
-rwxr-xr-x 1 root root      31264 Apr 11  2018 gcc-nm-5*
lrwxrwxrwx 1 root root         25 Dec  4  2019 gcc-nm-7 -> x86_64-linux-gnu-gcc-nm-7*
lrwxrwxrwx 1 root root         12 May 20  2019 gcc-ranlib -> gcc-ranlib-7*
-rwxr-xr-x 1 root root      31264 Apr 11  2018 gcc-ranlib-5*
lrwxrwxrwx 1 root root         29 Dec  4  2019 gcc-ranlib-7 -> x86_64-linux-gnu-gcc-ranlib-7*
-rwxr-xr-x 1 root root       2189 Nov 29  2019 gccmakedep*
lrwxrwxrwx 1 root root          5 May 20  2019 x86_64-linux-gnu-gcc -> gcc-7*
lrwxrwxrwx 1 root root          5 Apr 11  2018 x86_64-linux-gnu-gcc-5 -> gcc-5*
-rwxr-xr-x 1 root root    1047488 Dec  4  2019 x86_64-linux-gnu-gcc-7*
lrwxrwxrwx 1 root root          8 May 20  2019 x86_64-linux-gnu-gcc-ar -> gcc-ar-7*
lrwxrwxrwx 1 root root          8 Apr 11  2018 x86_64-linux-gnu-gcc-ar-5 -> gcc-ar-5*
-rwxr-xr-x 1 root root      31200 Dec  4  2019 x86_64-linux-gnu-gcc-ar-7*
lrwxrwxrwx 1 root root          8 May 20  2019 x86_64-linux-gnu-gcc-nm -> gcc-nm-7*
lrwxrwxrwx 1 root root          8 Apr 11  2018 x86_64-linux-gnu-gcc-nm-5 -> gcc-nm-5*
-rwxr-xr-x 1 root root      31200 Dec  4  2019 x86_64-linux-gnu-gcc-nm-7*
lrwxrwxrwx 1 root root         12 May 20  2019 x86_64-linux-gnu-gcc-ranlib -> gcc-ranlib-7*
lrwxrwxrwx 1 root root         12 Apr 11  2018 x86_64-linux-gnu-gcc-ranlib-5 -> gcc-ranlib-5*
-rwxr-xr-x 1 root root      31200 Dec  4  2019 x86_64-linux-gnu-gcc-ranlib-7*
  • 创建软链接 (gcc 重新升级到gcc7的话,重新创建这里的软链接就可以了)
cd /usr/bin 
sudo rm -r gcc //移除之前的软链接
sudo ln -sf gcc-5 gcc // 建立gcc-5的软链接 此处尝试使用gcc-5.5.0,但是报错
sudo rm -r g++  //同上
sudo ln -sf g++-5 g++  //同上
  • 检查gcc 版本
root@d8b6c26946f0:/usr/bin# gcc -v                                                                                                                         
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.5.0-12ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1) 

相关Linux命令

1、查看ubuntu 版本 lsb_release -a

root@d8b6c26946f0:/# lsb_release -a                                                                                                                        
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.4 LTS
Release:        18.04
Codename:       bionic

2、 查看当前系统使用的内核版本: uname -r

root@d8b6c26946f0:/# uname -r                                                                                                                              
3.10.107-1-tlinux2_kvm_guest-0049

3、查看gcc版本:gcc --version

root@d8b6c26946f0:/# gcc --version                                                                                                                         
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

4、当前ubuntu 使用的镜像源(使用的腾讯云镜像源):cat /etc/apt/sources.list

root@d8b6c26946f0:/# cat /etc/apt/sources.list                                                                                                             
deb https://mirrors.cloud.tencent.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.cloud.tencent.com/ubuntu/ focal main restricted universe multiverse

deb https://mirrors.cloud.tencent.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.cloud.tencent.com/ubuntu/ focal-security main restricted universe multiverse

deb https://mirrors.cloud.tencent.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.cloud.tencent.com/ubuntu/ focal-updates main restricted universe multiverse

deb https://mirrors.cloud.tencent.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.cloud.tencent.com/ubuntu/ focal-backports main restricted universe multiverse

## Not recommended
# deb https://mirrors.cloud.tencent.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.cloud.tencent.com/ubuntu/ focal-proposed main restricted universe multiverse

参考文章:https://packages.ubuntu.com/bionic/amd64/gcc-5/download

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

推荐阅读更多精彩内容