AndreRH / hangover

Hangover runs simple Win32 applications on arm64 Linux
GNU Lesser General Public License v2.1
1.24k stars 91 forks source link

Build fails on both x86/64 and on a Raspberry Pi 4B (winegcc) [Ubuntu 20.04 & 20.10] #109

Closed pseudofunizer closed 3 years ago

pseudofunizer commented 3 years ago

Hi there,

I've been trying to get Hangover to compile on both a Ubuntu 20.10 system that runs on x86/64 (amd64) and on my Raspberry Pi 4B that is running Ubuntu 20.04 LTS, with the process failing on the exactly same stage with each of the machines. This a few make -j4 (or -j8) commands into the overall process:

$ make -j8

make -C build/qemu
make[1]: Entering directory '/home/ubuntu/builds/hangover/build/qemu'
  CC      x86_64-windows-user/gdbstub-xml.o
  CC      x86_64-windows-user/windows-user/main.o
  CC      x86_64-windows-user/windows-user/mmap.o
  CC      x86_64-windows-user/windows-user/pe.o
  CC      x86_64-windows-user/windows-user/win_syscall.o
  CC      x86_64-windows-user/windows-user/signal.o
  CC      x86_64-windows-user/trace/generated-helpers.o
/home/ubuntu/builds/hangover/qemu/windows-user/win_syscall.c:22:10: fatal error: wine/library.h: No such file or directory
   22 | #include <wine/library.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
winegcc: /usr/bin/gcc failed
make[2]: *** [/home/ubuntu/builds/hangover/qemu/rules.mak:69: windows-user/win_syscall.o] Error 2
make[2]: *** Waiting for unfinished jobs....
/home/ubuntu/builds/hangover/qemu/windows-user/main.c:26:10: fatal error: wine/library.h: No such file or directory
   26 | #include <wine/library.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
winegcc: /usr/bin/gcc failed
make[2]: *** [/home/ubuntu/builds/hangover/qemu/rules.mak:69: windows-user/main.o] Error 2
/home/ubuntu/builds/hangover/qemu/windows-user/pe.c:31:10: fatal error: wine/library.h: No such file or directory
   31 | #include <wine/library.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
winegcc: /usr/bin/gcc failed
make[2]: *** [/home/ubuntu/builds/hangover/qemu/rules.mak:69: windows-user/pe.o] Error 2
make[1]: *** [Makefile:527: x86_64-windows-user/all] Error 2
make[1]: Leaving directory '/home/ubuntu/builds/hangover/build/qemu'
make: *** [Makefile:183: build/qemu/x86_64-windows-user/qemu-x86_64.exe.so] Error 2

Oh well, at least it's not a clang error this time :o) All help appreciated.

stefand commented 3 years ago

Make sure your git submodules are up to date. There might also be a problem with my rebase that was conceiled by a wine/library.h in /usr/local/include on my system.

simon-i1-h commented 3 years ago

wine/library.h has been deleted on https://github.com/wine-mirror/wine/commit/a9a08dbc3dd8b595888f6c6b066e6c8fd389771a. I made the patch (https://github.com/AndreRH/qemu/pull/3).

AndreRH commented 3 years ago

yes, current build is broken, see also the badgets in the Readme

pseudofunizer commented 3 years ago

yes, current build is broken, see also the badgets in the Readme

So... Is there a workaround for this at the moment, or is Hangover just simply broken and that's that? I just re-fetched the entire git along with submodules, tried compiling again and it failed at the same exact spot.

AndreRH commented 3 years ago

Try the latest tagged version

AndreRH commented 3 years ago

Fixed by 672728c4671098762d2ddce651042a74864aa891