bash: ./arm-none-linux-gnueabi-gcc: No such file or directory

操作系统:Win10 64位

虚拟机:VMware® Workstation 14 Pro + Ubuntu18.04

arm交叉编译工具:arm-2009q3.tar.bz2

解压 arm-2009q3.tar.bz2 

tar xjvf arm-2009q3.tar.bz2 -C /home/imx6/share/

运行发现:

 
  1. imx6@imx6-vm:~/share$ cd arm-2009q3/bin/

  2. imx6@imx6-vm:~/share/arm-2009q3/bin$ ls

  3. arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-gprof

  4. arm-none-linux-gnueabi-ar arm-none-linux-gnueabi-ld

  5. arm-none-linux-gnueabi-as arm-none-linux-gnueabi-nm

  6. arm-none-linux-gnueabi-c++ arm-none-linux-gnueabi-objcopy

  7. arm-none-linux-gnueabi-c++filt arm-none-linux-gnueabi-objdump

  8. arm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-ranlib

  9. arm-none-linux-gnueabi-g++ arm-none-linux-gnueabi-readelf

  10. arm-none-linux-gnueabi-gcc arm-none-linux-gnueabi-size

  11. arm-none-linux-gnueabi-gcc-4.4.1 arm-none-linux-gnueabi-sprite

  12. arm-none-linux-gnueabi-gcov arm-none-linux-gnueabi-strings

  13. arm-none-linux-gnueabi-gdb arm-none-linux-gnueabi-strip

  14. arm-none-linux-gnueabi-gdbtui

  15. imx6@imx6-vm:~/share/arm-2009q3/bin$ ./arm-none-linux-gnueabi-gcc -v

  16. bash: ./arm-none-linux-gnueabi-gcc: No such file or directory

 

 
  1. imx6@imx6-vm:~/share/arm-2009q3/bin$ file arm-none-linux-gnueabi-gcc

  2. arm-none-linux-gnueabi-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),

  3. dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.2.5, stripped

  4. imx6@imx6-vm:~/share/arm-2009q3/bin$

 

开始以为是权限问题,后来,在网上查了一下,原来是Ubuntu18.04为64位的,需要安装32位的运行库,才能运行。

解决方法:

sudo apt install lib32stdc++6

安装后,再运行,可以了

 
  1. imx6@imx6-vm:~/share/arm-2009q3/bin$ ./arm-none-linux-gnueabi-gcc -v

  2. Using built-in specs.

  3. Target: arm-none-linux-gnueabi

  4. Configured with: /scratch/julian/2009q3-respin-linux-lite/src/gcc-4.4/configure --

  5. build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-

  6. threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-

  7. sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{funwind-

  8. tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} %{O2:%{!fno-

  9. remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-

  10. statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto

  11. --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q3-67'

  12. --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --

  13. prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --

  14. with-build-sysroot=/scratch/julian/2009q3-respin-linux-lite/install/arm-none-linux-

  15. gnueabi/libc --with-gmp=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-

  16. arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/2009q3-respin-

  17. linux-lite/obj/host-libs-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-

  18. ppl=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-67-arm-none-linux-

  19. gnueabi-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-

  20. Bdynamic -lm' --with-cloog=/scratch/julian/2009q3-respin-linux-lite/obj/host-libs-2009q3-

  21. 67-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-

  22. directories --with-build-time-tools=/scratch/julian/2009q3-respin-linux-lite/install/arm-

  23. none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/2009q3-respin-linux-

  24. lite/install/arm-none-linux-gnueabi/bin

  25. Thread model: posix

  26. gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67)

使用ubuntu18.04,虽然较新,感觉还不错。

### 关于 `linux-gnueabi-gcc` 编译器的信息 #### 定义与用途 GNU的C语言编译器系列中,`arm-none-linux-gnueabi-gcc-4.3.5` 是用于特定目标平台(如ARM架构下的嵌入式Linux系统)的一个版本[^1]。这类编译器允许开发者在一个主机环境上编写针对另一台机器运行的应用程序。 #### 修改源码前准备 在实际操作之前可能需要调整某些配置文件来适应具体的构建需求,在此过程中可能会涉及到编辑位于 `$PRJROOT/build-tools/gcc-4.3.5/gcc` 的相关设置文件[^2]。 #### 解决路径错误提示 当遇到类似于 `"bash: ./arm-none-eabi-gcc: No such file or directory"` 这样的报错时,通常是因为当前目录下确实不存在所指定名称的可执行文件或者是由于缺少必要的依赖项造成的[^3]。此时应确认已正确安装了所需的交叉编译工具链,并且确保其二进制文件的位置已经被加入到系统的PATH环境中。 #### 获取官方文档和支持材料 对于希望深入了解如何使用此类编译器以及获取更多支持资料的情况而言,可以从专门提供给用户的资源链接处找到详细的指导手册和教程。例如,有一个在线仓库包含了关于 `arm-none-linux-gnueabi` 工具链的具体说明及其应用实例,这可以作为很好的参考资料[^4]。 #### 实际案例中的Makefile定制化 具体来说,在处理像libmodbus这样的第三方库时,则可以通过修改 Makefile 来指明应该采用哪个版本号的目标三元组形式的 GCC 变体来进行编译工作;比如这里展示了一个例子,其中设置了多个参数以优化输出结果以便更好地匹配目标硬件特性[^5]: ```makefile CC = arm-poky-linux-gnueabi-gcc \ -march=armv7-a \ -mthumb-interwork \ -mfloat-abi=hard \ -mfpu=neon \ -mtune=cortex-a9 \ --sysroot=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值