$ | >

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!

712 votes
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)

    We’ll send you updates on this idea

    Anonymous shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    97 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • Anonymous commented  ·   ·  Flag as inappropriate

        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.

      • Anonymous commented  ·   ·  Flag as inappropriate

        I'm surprised WSL, a feature clearly aimed at developers, doesn't support 32-bit apps. This cuts out mobile and embedded developers. Not all devs are writing JavaScript in Sublime Text you know.

        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  ·   ·  Flag as inappropriate

        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  ·   ·  Flag as inappropriate

        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.

      • MGeo commented  ·   ·  Flag as inappropriate

        Ok thanks. Will have to go back to Linux to cross-compile ARM for work.

      • Guy Sherman commented  ·   ·  Flag as inappropriate

        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  ·   ·  Flag as inappropriate

        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  ·   ·  Flag as inappropriate

        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...)

      • Daniel Gibbs commented  ·   ·  Flag as inappropriate

        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.

      • Dario commented  ·   ·  Flag as inappropriate

        Please add this in, it's needed for many legacy programs for which the source isn't available

      • fcy commented  ·   ·  Flag as inappropriate

        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.

      • Anonymous commented  ·   ·  Flag as inappropriate

        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  ·   ·  Flag as inappropriate

        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  ·   ·  Flag as inappropriate

        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  ·   ·  Flag as inappropriate

        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

      ← Previous 1 3 4 5

      Feedback and Knowledge Base