Linux Subsystem for Windows 上の Ubuntu 14.04.5 LTS のクロスコンパイラ

Linux Subsystem for Windows 上の Ubuntu 14.04.5 LTS のクロスコンパイラ

クロスコンパイラ(32ビット)をビルドして実行しようとしていますが、バイナリを実行できず、実行形式エラー

fileそして、readelfこれは 32 ビット実行可能ファイルであると主張していますが、ldd同意しません。ここで何が欠けているのでしょうか? 同じ手順が RedHat ベースのホストでも機能しています。

$ ./arm-none-linux-gnueabi-gcc -v
bash: ./arm-none-linux-gnueabi-gcc: cannot execute binary file: Exec format error

$ ldd arm-none-linux-gnueabi-gcc
not a dynamic executable

$ file arm-none-linux-gnueabi-gcc
arm-none-linux-gnueabi-gcc: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped

$ cat /etc/issue
Ubuntu 14.04.5 LTS \n \l

答え1

https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13377507-please-add-32-bit-elf-support-to-the-kernel

答えはここにあります。32 ビットのプリコンパイル済みバイナリは、Linux の Linux サブシステムでは動作しません。

関連情報