win10上的ubuntu子系统无法运行32位程序

win10版本1803

Ubuntu 18.04.3 LTS \n \l

当我安装完arm-linux-gcc交叉编译器后,设置好环境变量,之后执行arm-fsl-linux-gnueabi-gcc命令,系统报错如下:

-bash: /opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc: cannot execute binary file: Exec format error

这种问题主要发生在 64位系统上,原因是大多数交叉编译器为了适应性,通常以32位发布,而实际系统是64位的,存在架构差异,所以不能执行。

然后我尝试安装32位兼容库:

sudo apt-get install lib32ncurses5
sudo apt-get install lib32z1

结果依旧报错。

后来谷歌才发现,WSL上无法运行ELF 32-bit LSB executable 等32位程序。坑,超级坑。

在这里有官方说明 :
https://github.com/Microsoft/BashOnWindows/issues/390

posted @ 2019-08-19 16:27  茶小绿  阅读(99)  评论(0编辑  收藏