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