今天在ubuntu16.04上安装arm的交叉编译器arm_v5t_le-gcc,环境变量配置好以后,运行arm_v5t_le-gcc命令,总提示No such file or directory。然后去arm_v5t_le-gcc所在的目录下,发现不缺少任何文件。而且环境变量配置也是正确的,我配置了所有可以配置PATH的地方:
/root/.bashrc修改:export PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_4.0.1/montavista/pro/bin:/opt/mv_pro_4.0.1/montavista/common/bin:$PATH"(修改这个文件的数据将会使得普通用户也能使用此指令)
/etc/profile修改:export PATH="/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_4.0.1/montavista/pro/bin:/opt/mv_pro_4.0.1/montavista/common/bin:$PATH"
/etc/enviroment修改:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_4.0.1/montavista/pro/bin:/opt/mv_pro_4.0.1/montavista/common/bin"
因为arm-是可以补全,所以应该不存在PATH路径设置的问题,之后又在网上下载了几个版本,甚至最新版,还是同样的问题。最后发现本人的ubuntu是64位,而下载的这些交叉编译器是32位的。因此需要安装ia32-libs库,如果apt-get 搜不到这个库的话,可以安装lib32ncurses5库,也是一样的。本人安装了后者,解决了该问题。
Fedora安装之后也出现了类似的问题,当然Fedora的安装32位的C语言包的方法和Ubuntu不一样:(当然如果使用的是32位的Fedora是没有任何问题的,Fedora14-i386版本)
需要按照下面的操作:
yum install glibc.i686
安装完成之后测试arm_v5t_le-gcc:
arm_v5t_le-gcc
OK,完成编译环境的搭建。