安装交叉编译工具arm-linux-gcc命令未找到的问题
arm-linux-gcc -v 查看交叉编译工具版本号
$ arm-linux-gcc -v
arm-linux-gcc:未找到命令
$ vim ~/.profile
PATH=/usr/local/arm/4.5.1/bin/:$PATH
export PATH
$ echo $PATH
/home/mcy/bin:/home/mcy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ cd /usr/local/arm/4.5.1/bin
$ ./arm-linux-gcc -v
bash: ./arm-linux-gcc: 没有那个文件或目录
$ ./arm-none-linux-gnueabi-gcc -v
bash: ./arm-none-linux-gnueabi-gcc: 没有那个文件或目录
网上查询得出,是因为xubuntu系统是64位的,而ARM的交叉编译工具是32的,需要安装64位转32的库。
$ sudo apt-get install ia32-libs
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 ia32-libs,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
lib32ncurses5 lib32z1
E: 软件包 ia32-libs 没有可安装候选
$ sudo apt-get install lib32ncurses5
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic linux-headers-4.4.0-64 linux-headers-4.4.0-64-generic linux-headers-4.4.0-66 linux-headers-4.4.0-66-generic linux-image-4.4.0-31-generic linux-image-4.4.0-64-generic
linux-image-4.4.0-66-generic linux-image-extra-4.4.0-31-generic linux-image-extra-4.4.0-64-generic linux-image-extra-4.4.0-66-generic
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
lib32tinfo5 libc6-i386
下列【新】软件包将被安装:
lib32ncurses5 lib32tinfo5 libc6-i386
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 183 个软件包未被升级。
需要下载 2,513 kB 的归档。
解压缩后会消耗 11.2 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc6-i386 amd64 2.23-0ubuntu7 [2,337 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 lib32tinfo5 amd64 6.0+20160213-1ubuntu1 [76.9 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 lib32ncurses5 amd64 6.0+20160213-1ubuntu1 [99.5 kB]
已下载 2,513 kB,耗时 2秒 (1,091 kB/s)
正在选中未选择的软件包 libc6-i386。
(正在读取数据库 ... 系统当前共安装有 291082 个文件和目录。)
正准备解包 .../libc6-i386_2.23-0ubuntu7_amd64.deb ...
正在解包 libc6-i386 (2.23-0ubuntu7) ...
正在选中未选择的软件包 lib32tinfo5。
正准备解包 .../lib32tinfo5_6.0+20160213-1ubuntu1_amd64.deb ...
正在解包 lib32tinfo5 (6.0+20160213-1ubuntu1) ...
正在选中未选择的软件包 lib32ncurses5。
正准备解包 .../lib32ncurses5_6.0+20160213-1ubuntu1_amd64.deb ...
正在解包 lib32ncurses5 (6.0+20160213-1ubuntu1) ...
正在处理用于 libc-bin (2.23-0ubuntu7) 的触发器 ...
正在设置 libc6-i386 (2.23-0ubuntu7) ...
正在设置 lib32tinfo5 (6.0+20160213-1ubuntu1) ...
正在设置 lib32ncurses5 (6.0+20160213-1ubuntu1) ...
正在处理用于 libc-bin (2.23-0ubuntu7) 的触发器 ...
$ sudo apt-get install lib32z1
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic linux-headers-4.4.0-64 linux-headers-4.4.0-64-generic linux-headers-4.4.0-66 linux-headers-4.4.0-66-generic linux-image-4.4.0-31-generic linux-image-4.4.0-64-generic
linux-image-4.4.0-66-generic linux-image-extra-4.4.0-31-generic linux-image-extra-4.4.0-64-generic linux-image-extra-4.4.0-66-generic
使用'sudo apt autoremove'来卸载它(它们)。
下列【新】软件包将被安装:
lib32z1
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 183 个软件包未被升级。
需要下载 52.2 kB 的归档。
解压缩后会消耗 162 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 lib32z1 amd64 1:1.2.8.dfsg-2ubuntu4 [52.2 kB]
已下载 52.2 kB,耗时 11秒 (4,566 B/s)
正在选中未选择的软件包 lib32z1。
(正在读取数据库 ... 系统当前共安装有 291404 个文件和目录。)
正准备解包 .../lib32z1_1%3a1.2.8.dfsg-2ubuntu4_amd64.deb ...
正在解包 lib32z1 (1:1.2.8.dfsg-2ubuntu4) ...
正在设置 lib32z1 (1:1.2.8.dfsg-2ubuntu4) ...
正在处理用于 libc-bin (2.23-0ubuntu7) 的触发器 ...
相关的库安装完成,检查交叉编译工具是否可用:
$arm-linux-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gcc
COLLECT_LTO_WRAPPER=/usr/local/arm/4.5.1/bin/../libexec/gcc/arm-none-linux-gnueabi/4.5.1/lto-wrapper
Target: arm-none-linux-gnueabi
Configured with: /work/toolchain/build/src/gcc-4.5.1/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.5.1 --with-sysroot=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --enable-languages=c,c++ --disable-multilib --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=softfp --with-pkgversion=ctng-1.8.1-FA --with-bugurl=http://www.arm9.net/ --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpfr=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-ppl=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-cloog=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-mpc=/work/toolchain/build/arm-none-linux-gnueabi/build/static --with-libelf=/work/toolchain/build/arm-none-linux-gnueabi/build/static --enable-threads=posix --with-local-prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.5.1 (ctng-1.8.1-FA)
交叉编译工具可用。