Please enable WSL to run 32 bit ELF binaries
It seems that executing 32bit ELF binaries results in "Exec format error" - guessing the kernel doesn't have 32 bit emulation support (compilation is fine, but precompiled binaries don't run). A vast number of legacy programs are still 32 bit, please add support if it won't completely destroy everything in the process - thanks!
WSL currently only works on x64 systems, and only runs ELF-64 binaries.
We don’t currently have plans to support running ELF-32 binaries on WSL x64.
Like many others here, ditching WSL and going back to a VM - it was nice but short experiment. I need to be able to run ELF-32 binaries for embedded (NVidia's Jetson TX2 toolchain). Please add support for ELF-32 and I will take another look.
Janusz Gąsior commented
I was excited about WSL because I thought I'd be able to do my Linux-related development directly on Windows, but as a result of this, I can't use it. I absolutely must be able to cross-compile using a 32-bit toolchain.
I'll go back to using a dedicated Linux VM. Spending 50% of my time in WSL and another 50% in a VM is less productive than using the VM 100% of the time. What a shame.
I hope WSL is a work-in-progress and its experience will be more complete eventually, otherwise what's the point of it all?
Mike M commented
Or to put it another way "you'd have to be an idiot to use WSL".
If you build your infrastructure around it, you run the risk that some major bug will crop up, and just like this one Microsoft will go "Nah, can't be bothered. Tough."
Mykhailo Parfeniuk commented
We have 32 bit toolchain for embedded devices and 32-bit linux testsuits, absence of 32 bit support prevents us from developing on Windows as single platform. I think this decision is really shortsighted and makes WSL usefulness questionable.
Ok thanks. Will have to go back to Linux to cross-compile ARM for work.
Guy Sherman commented
Fair enough. If I think back to why I voted for it in the first place it was because some of the tools involved with building android apps are still 32-bit only. Google should probably bring their toolchain into the 21st century!
Nigel Hathaway commented
Windows itself, in its 64-bit version, allows you to run 'legacy' 32-bit applications. If it didn't, 64-bit Windows would be pretty useless, as there as so many pre-compiled 32-bit applications that people have to use to get their jobs done. The same is true of Linux. I, like many people, do Linux development in a VM under Windows. I tried out WSL, but it fails in so many different ways, this being just one of them. My conclusion is: WSL is not ready for prime time. When the response is 'we have no plans to fix this', then I doubt it will ever be useful, at least not for developers like myself. It leaves me wondering who WSL is really aimed at.
Ken Mortimer (GranoblasticMan) commented
Re: Rich Turner
So you're saying the Windows OS folks are going to drop support for Win32 apps too, right? I mean, fair's fair... (Or you might realize how ridiculous refusing to support ELF-32 binaries is...)
Dani Fernandez Mulero commented
It was promising at first, but neglecting with 32-bit support its going to sink the whole project.
Daniel Gibbs commented
Not having 32 bit support is like having Windows 10 only allow 64-bit applications. Many applications still only use 32-bit binary's. This is seriously diminishing the usability of WSL. Making loads of applications in WSL unusable. Until it is supported myself and many others simply cannot use WSL as a viable alternative to a VM.
Please add this in, it's needed for many legacy programs for which the source isn't available
Our toolchain relies on running ELF 32-bit binaries during the build process. Since these binaries don't work on WSL, we have to revert to using real Linux. Please consider getting this to work. Thanks.
Krembuk Kreviazuk commented
count me in. i need to compile kernels that has proprietary 32-bit packers
Daniel Gibbs commented
SteamCMD will not run without this. Until then LinuxGSM can not run on WSL. Please make this a priority. https://gameservermanagers.com
for people who cross-compile alot, 32bit ELF support will be very very useful, until then, i will stick to my linux box. Please give this issue the highest priority
Allen George commented
I have to say that WSL in itself is an impressive achievement. 32bit ELF support would be another big jump in compatibility for WSL.
CJ Laing commented
Would absolutely love this! I would love to use WSL on my new NuVision 8" Windows 10 tablet, but I can't do so because while the item has a 64-bit processor, it's running on 32-bit firmware, so it won't ever be able to boot a 64-bit version of Windows on the hardware. Being able to install and run WSL on this device would be wonderful, and 32-bit ELF support in WSL by itself would be wonderful, as that can impede some development for embedded devices that rely on 32-bit toolchains.
Tom Silver commented
count me in, vote for multiarch support and so ELF 32bit LSB executables supported
$ unpackdbg --help
bash: ./unpackdbg: cannot execute binary file: Exec format error
$ file ~/bin/unpackdbg
/###/unpackdbg: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.0, stripped