本次升级所用的系统环境为Armbian5.77,对应的Debian系统为Debian 9,由于是编译安装,且安装在目前适配比较一般的ARM架构上,所以本次升级基本适用Linux各主流发行版本。
注意事项:
1、gcc编译时间非常长,如果内存充足,io较好,不妨使用make -j让cpu几个内核同时跑起来,我这次所用arm架构的cpu是晶晨s905,足足make了30个小时,也是活久见。
2、gcc占用空间比较大,下载的压缩文件仅100多M,完全编译后,占用空间6G。
3、构建gcc版本> = 4.1.x需要gmp、mpfr、mpc的补充包,如果缺失必要的依赖,gcc在make过程中必会报错,所以我们可以先下载并构建每个支持包,然后告诉make,gcc编译期间二进制文件所在的位置。
每个gcc版本对gmp、mpfr、mpc最低版本要求也可能不同,为了兼容性更强,可以尽量选择版本较高的gmp、mpfr、mpc。
比如本次我编译安装的gcc版本是10.1.0,所有依赖的最低版本:
gmp-5.0.1
mpfr-3.1.5
mpc-1.0.1
这些版本的依赖,发行时间较早,对于arm架构不友好,可以理解为他们发行时还不流行arm架构,所以建议直接安装最新版本,我选择了:
gmp-6.2.1
mpfr-4.2.0
mpc-1.3.1
在armbian中编译安装,一次通过。
上文所需资源可以在gnu安装包下载_开源镜像站-阿里云下载:
https://mirrors.aliyun.com/gnu/
安装gmp:
安装mpfr:
安装mpc:
安装gcc:
编译成功如图:
修改与之前gcc版本相关的名字,因为版本是6.3.0,所以改为630:
把刚才配置好的gcc链接到环境变量:
在i386、x86等架构中,使用以下命令创建软连接:
在arm架构中,/usr/lib/目录下可能会多一层aarch64-linux-gnu,如果不确定,可以使用find命令查找libstdc++,下面是我在armbian中使用的命令:
若以上命令全部正常执行,那么恭喜,gcc升级成功。
查看gcc10.0.1占用空间,约1.1G:
使用gcc --version查看版本:
下面说可能遇到的问题:
问题多多少少会存在一些,并且每次出现问题,make终止,会浪费很多的时间。
比如:/gcc/cc1: error while loading shared libraries: libmpfr.so.6: cannot open sha...
这个在提醒缺失libmpfr.so.6文件,这是由mpfr依赖库提供的,安装完mpfr后,查看是否存在libmpfr.so.6:
若提示不存在,或者报错,就需要我们来提供这个文件,比如使用find搜索libmpfr*,找到文件路径后,创建软链接:
现在基于Arm的设备越来越多,所以升级时一定要注意使用哪种架构的Linux,了解需求后,在选用软件版本、创建软链接等方面会少走很多弯路。
还有一点要注意的:发行较早的软件版本,不支持Arm架构。
上一篇:Linux/Armbain系统挂载硬盘/U盘和开机启动挂载方法
下一篇:最后一页