你的位置:首页 > 操作系统

[操作系统]添加了环境变量,然而交叉编译器还是无法运行的解决方案


首先贴出出错提示信息:

jello@kali:/usr/local/arm/2.95.3/bin$ arm-linux-
arm-linux-addr2line   arm-linux-gasp        arm-linux-protoize
arm-linux-ar          arm-linux-gcc         arm-linux-ranlib
arm-linux-as          arm-linux-gcj         arm-linux-readelf
arm-linux-c++         arm-linux-ld          arm-linux-size
arm-linux-c++filt     arm-linux-nm          arm-linux-strings
arm-linux-g++         arm-linux-objcopy     arm-linux-strip
arm-linux-g77         arm-linux-objdump     arm-linux-unprotoize
jello@kali:/usr/local/arm/2.95.3/bin$ arm-linux-gcc -v
bash: /usr/local/arm/2.95.3/bin/arm-linux-gcc: 没有那个文件或目录

1.确定当前系统的位宽:

通过使用uname -a可以得到当前linux系统的位宽,本人的kali2.0位宽信息如下:

jello@kali:/usr/local/arm/2.95.3/bin$ uname -a
Linux kali 4.0.0-kali1-amd64 #1 SMP Debian 4.0.4-1+kali2 (2015-06-03) x86_64 GNU/Linux
从以上关键字x86_64可得本人的系统是64bit的

2.确定交叉编译器的位宽:

  2.1直接切换目录到交叉编译器的安装目录,本人的交叉编译器安装在/usr/local/arm/2.95.3/bin目录下,所以:

jello@kali:~$ cd /usr/local/arm/2.95.3/bin/

  2.2使用file命令查看交叉编译器arm-linux-gcc的文件信息

    jello@kali:/usr/local/arm/2.95.3/bin$ file arm-linux-gcc

    本人的查询信息如下:

    jello@kali:/usr/local/arm/2.95.3/bin$ file arm-linux-gcc
    arm-linux-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.0.0, not stripped
  由此即可知道交叉编译器之所以不能运行的原因是没有安装32位库的原因(在本人的kali2.0系统下,默认没有安装32位库)

3.解决方案:安装32位库

本人kali2.0安装32库的命令如下:

jello@kali:/usr/local/arm/2.95.3/bin$ sudo apt-get install libc6-i386