今日CentOS8搭建arm交叉编译环境,配置好环境变量后,输入arm-none-linux-gnueabi- ,按2下TAB键,可看到如下:
[binary@daemon ~]$ arm-none-linux-gnueabi-
arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-c++filt arm-none-linux-gnueabi-gcc-4.4.1 arm-none-linux-gnueabi-gprofarm-none-linux-gnueabi-objdump arm-none-linux-gnueabi-sprite
arm-none-linux-gnueabi-ar arm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-gcov arm-none-linux-gnueabi-ld arm-none-linux-gnueabi-ranlibarm-none-linux-gnueabi-strings
arm-none-linux-gnueabi-as arm-none-linux-gnueabi-g++ arm-none-linux-gnueabi-gdb arm-none-linux-gnueabi-nm arm-none-linux-gnueabi-readelf arm-none-linux-gnueabi-strip
arm-none-linux-gnueabi-c++ arm-none-linux-gnueabi-gcc arm-none-linux-gnueabi-gdbtuiarm-none-linux-gnueabi-objcopy arm-none-linux-gnueabi-size
但执行出现错误(错误信息为:No such file or directory):
[binary@daemon ~]$ arm-none-linux-gnueabi-gcc
bash:/data/vProgram/arm/arm-q3/bin/arm-none-linux-gnueabi-gcc:Nosuchfileordirectory
有点奇怪,分明是有此文件,环境变量也是正确生效的,为何会提醒此错误?想想可这arm交叉编译器是32位的?
当前系统环境是64位,并没有32位的依赖库?
用ldd查看:
[binary@daemon bin]$ ldd arm-none-linux-gnueabi-gcc
notadynamicexecutable
再用readelf查看:
[binary@daemon bin]$ readelf -l arm-none-linux-gnueabi-gcc
Elf file type is EXEC (Executable file)
Entry point 0x80493e0
There are 8 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x00100 0x00100 R E 0x4
INTERP 0x000134 0x08048134 0x08048134 0x00013 0x00013 R 0x1</