win10/Linux子系统WSL时,解决sh: 1: ./xxx/xxx: Exec format error

问题背景:win10/Linux子系统WSL下运行文本切分对齐工具./mwerSegmenter程序时 出现Exec format error错误,可通过以下步骤解决:

问题原因:主要原因是不支持32位程序,可以用如下方法启用:WSL默认使用 64bit的程序,不支持32位的程序,可以使用QEMU来虚拟化内核来解决这个问题。
解决问题步骤:

    1. 查看Linux操作系统版本
      uname -m # -m或–machine 显示主机的硬件(CPU)架构
      x86_64
      uname -i # -i 显示硬件平台类型或unknown
      x86_64
      uname -p # -p 显示主机处理器类型或unknown
      x86_64

    2. 安装QEMU
      sudo apt-get update
      sudo apt-get install qemu-user-static
      sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff'

     3.启动服务

      sudo service binfmt-support start

 

 

 

参考:https://blog.csdn.net/ZRL4836/article/details/122577902

https://www.cnblogs.com/zhang-liubai/p/14599415.html

posted @ 2022-08-24 14:06  lingwang3  阅读(371)  评论(0编辑  收藏  举报