编译linux-0.11 gcc版本问题的解决

ubuntu中编译linux-0.11因为gcc版本问题可能会出现一下错误

命令:make all
结果:

as86 -0 -a -o boot/bootsect.o boot/bootsect.s
ld86 -0 -s -o boot/bootsect boot/bootsect.o
as86 -0 -a -o boot/setup.o boot/setup.s
ld86 -0 -s -o boot/setup boot/setup.o
gcc-3.4 -m32 -g -I./include -traditional -c boot/head.s
make: gcc-3.4: Command not found
Makefile:62: recipe for target 'boot/head.o' failed
make: *** [boot/head.o] Error 127

原因是系统默认使用更高版本的gcc,即使卸载再下载也不能使用低版本,下面是解决方法。
需要工具:新立得软件管理器、gcc3.4的安装包(我所需要的版本)
1.下载新立得软件管理器:sudo apt-get install synaptic
2.gcc3.4:http://old-releases.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/
需要下载三个文件,分别是
cpp-3.4_3.4.6-6ubuntu2_amd64.deb
gcc-3.4-base_3.4.6-6ubuntu2_amd64.deb
gcc-3.4_3.4.6-6ubuntu2_amd64.deb
文件很多,不要下错了。

进入下载后的文件夹,下载命令为:

sudo dpkg -i cpp-3.4_3.4.6-6ubuntu2_amd64.deb gcc-3.4-base_3.4.6-6ubuntu2_amd64.deb gcc-3.4_3.4.6-6ubuntu2_amd64.deb

此时,gcc-3.4已安装完成,但仍缺少相关类库做支撑,运行

sudo apt install gcc-multilib

若缺少as86和ld86还需

sudo apt install bin86

接下来打开软件管理器,搜索gcc,找到当前gcc前面被选中的版本,

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 10      //目标版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 30        //当前选中绿色的版本

再输入

sudo update-alternatives –-config gcc     //两个-

会出现

有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。

  选择       路径            优先级  状态
------------------------------------------------------------
* 0            /usr/bin/gcc-7     50        自动模式
  1            /usr/bin/gcc-3.4   10        手动模式
  2            /usr/bin/gcc-7     50        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

输入1,回车(选择需要版本的编号)
执行该操作之后,输入gcc -v,可以看到现在的gcc版本已经是3.4.6。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值