1打开链接:https://snapshots.linaro.org/gnu-toolchain/14.0-2023.06-1/arm-linux-gnueabihf/
如以64位系统为例下载如下编译器
2:在当前用户根目录下创
建了一个名为“linux”的文件夹,在这个 linux 文件夹里面再创建一个名为“tool”的文件夹,用来存放一些开发工具.
用filezilla软件将下载的编译器传送到/linux/tool目录。
3:在 Ubuntu 中创建目录: /usr/local/arm,命令如下:
sudo mkdir /usr/local/arm
然后使用如下命令将交叉编译器复制到/usr/local/arm 中:sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f
拷贝完成以后在/usr/local/arm 目录中对交叉编译工具进行解压,解压命令如下:
sudo tar -vxf gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf.tar.xz
4:
修改环境变量,使用 VI 打开/etc/profile 文件,命令如下:
sudo vi /etc/profile
打开/etc/profile 以后,在最后面输入如下所示内容:
export PATH=$PATH:/usr/local/arm/gcc-linaro-14.0.0-2023.06-x86_64_arm-linux-gnueabihf/bin
修改好以后就保存退出,重启 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了。
5:在使用交叉编译器之前还需要安装一下其它的库,命令如下:
sudo apt-get install lsb-core lib32stdc++6
等待这些库安装完成。查看一下交叉编译工具的版本号,输入如下命令:
arm-linux-gnueabihf-gcc -v
当出现错误提示
> riscv-nuclei-linux-gnu-gcc: /lib/x86_64-linux-gnu/libc.so.6: version
> `GLIBC_2.32' not found (required by riscv-nuclei-linux-gnu-gcc)
> riscv-nuclei-linux-gnu-gcc: /lib/x86_64-linux-gnu/libc.so.6: version
> `GLIBC_2.33' not found (required by riscv-nuclei-linux-gnu-gcc)
> riscv-nuclei-linux-gnu-gcc: /lib/x86_64-linux-gnu/libc.so.6: version
> `GLIBC_2.34' not found (required by riscv-nuclei-linux-gnu-gcc)
检查版本
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
显示结果
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_2.29
GLIBC_2.30
GLIBC_PRIVATE
最高版本只到2.30,由于使用的系统为ubuntu20.04,已经升级到了系统版本的最高版本了。
解决方案
添加一个高级版本系统的源,直接升级libc6.
Ubuntu 20.04 - added this repo as described in the link
编辑源
sudo vi /etc/apt/sources.list
添加高版本的源
deb http://th.archive.ubuntu.com/ubuntu jammy main
运行升级
sudo apt update
sudo apt install libc6
查看结果
strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_2.29
GLIBC_2.30
GLIBC_2.31 //以下为新增
GLIBC_2.32
GLIBC_2.33
GLIBC_2.34
GLIBC_2.35
GLIBC_PRIVATE