qemu still can't run x86 wine

Dan Kegel dank at kegel.com
Thu Apr 5 12:48:59 CDT 2012


http://wiki.winehq.org/ARM says commands like
$ qemu-i386 /usr/local/qemu-i386/wine/bin/wine
/usr/local/qemu-i386/wine/c/Program\ Files/putty.exe
used to work, but doesn't anymore.

I gave it a shot anyway, just trying to run x86 apps inside wine inside qemu:
  wget http://wiki.qemu.org/download/qemu-1.0.1.tar.gz
  tar -xzvf qemu-1.0.1.tar.gz
  cd qemu-1.0.1
  ./configure  --prefix=/usr/local/qemu --target-list=i386-linux-user
  make
  # Compilation fails; to work around, edit linux-user/syscall.c and
  # replace soundcard.h with soundcard.h.oss3
  make
  sudo make install
  # Verify that qemu can run a trivial binary
  /usr/local/qemu/bin/qemu-i386 /bin/uname -a
  # Verify you can run wine a little
  /usr/local/qemu/bin/qemu-i386 /usr/bin/wine --version
  # Now run a real app
  /usr/local/qemu/bin/qemu-i386 /usr/bin/wine cmd /c echo hi
  qemu: Unsupported syscall: 240
  # Huh.  That didn't work. OK, try sh:
  /usr/local/qemu/bin/qemu-i386 /bin/sh
  $ ls
  /bin/sh: 1: Cannot fork

The syscall error seems to be
https://bugs.launchpad.net/ubuntu/+source/qemu-linaro/+bug/758424
"We only implement the futex syscalls if CONFIG_USE_NPTL. This isn't
defined for the i386 target (the necessary support in target-i386 for
pushing atomic insns up to the linux-user top level loop isn't
implemented). The upshot is that running multithreaded programs in
linux-user i386-target isn't supported and this is just one of the
symptoms."
Dunno about the fork error.

So it looks like anyone hoping to run x86 wine in qemu would need to
fix qemu first and/or go back to an old wine that doesn't use nptl?



More information about the wine-devel mailing list