1、问题现象
在64位的Ubuntu机器上运行一个路径真实存在的可执行文件,提示bash: ./xxx: No such file or directory
。
2、问题分析
可以通过file <你要执行的文件>
,比如:
xxx: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.
32, BuildID[sha1]=9302c3790b141dded82e72485a41b7638659a208, not stripped
那么是可执行程序(交叉编译的程序除外)与你的PC机运行环境“位数”不一致导致。
3、解决方法
sudo apt install libc6-dev-i386
其他可选的库:
sudo apt-get install lib32stdc++6
sudo apt-get install lib32z1