Git Product home page Git Product logo

hangover's People

Contributors

andrerh avatar cwabbott0 avatar danielt998 avatar jactry avatar kenthomases avatar mpbagot avatar simon-i1-h avatar stefand avatar trass3r avatar ziqingh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hangover's Issues

Android build failed. Can't recognize "-b" option when running qemu configure script

I failed to build hangover for Android with build.android.sh
Some error occured at line of qemu configure:

aarch64-linux-android-gcc: error: aarch64-linux-android: No such file or directory
aarch64-linux-android-gcc: error: unrecognized command line option '-b'
winegcc: aarch64-linux-android-gcc failed
aarch64-linux-android-g++: error: aarch64-linux-android: No such file or directory
aarch64-linux-android-g++: error: unrecognized command line option '-b'
winegcc: aarch64-linux-android-g++ failed

by the way, I added
PKG_CONFIG_PATH="$DESTDIR/build.android/wine-host/dlls/wineandroid.drv/assets/arm64-v8a/lib/pkgconfig"
at beginning of the line which run qemu configure script. If I don't add this, it will tell me that glib is missing.

How to build this program

How do I build this app on Android by Termux or Userland or build it directly on the android ?

Processor: snapdragon 808 aarch64
Android: 6.0
WARNING: I am a beginner in dealing with Linux and building applications .

Gray screen on Huawei devices

I'm getting just the gray screen after app extracts in sets up Windows environment.
Huawei Mediapad M5 8" running Android 9.
Most probably the issue is with Wine itself, since I get it on usual Wine Android builds too.

Building on ARM Debian

I'm trying to build this on a Debian ARM machine (Gemini PDA). I installed all wine dependencies, but make is still failing with a lot of undefined references (xmlNewNs, xmlXpathFreeObject, xmlXPathNodeSetAddUnique, etc...). They seem to be related to libxslt, but I have libxslt1-dev package installed on my system. Any hint?

git submodule update stops and do nothing

You have closed my previous posts. My setup is Ok. Only I have updated manually . Please seee again my answers in the closed posts. I have compared all the files from my hangover tree and it was the same as the files in your site. I have compared every file and it is the same. only I have changed Makefile, because the optiions in winecfg is updated and for example --winebuild was now -B. You can check this. Also you can check that when you download hangover with git and do a git submodule update it stops and do nothing . Please you can check this.

emini@cosmopda:/Downloads/hangover$ git init update
Initialized empty Git repository in /home/gemini/Downloads/hangover/update/.git/
gemini@cosmopda:
/Downloads/hangover$ git submodule init
Submodule 'freetype' (https://github.com/aseprite/freetype2) registered for path 'freetype'
Submodule 'glib' (https://github.com/AndreRH/glib.git) registered for path 'glib'
Submodule 'libpng' (https://github.com/glennrp/libpng) registered for path 'libpng'
Submodule 'libxml2' (https://gitlab.gnome.org/GNOME/libxml2.git) registered for path 'libxml2'
Submodule 'libxslt' (https://gitlab.gnome.org/GNOME/libxslt.git) registered for path 'libxslt'
Submodule 'qemu' (https://github.com/AndreRH/qemu.git) registered for path 'qemu'
Submodule 'wine' (https://github.com/AndreRH/wine.git) registered for path 'wine'
gemini@cosmopda:~/Downloads/hangover$ git submodule update
Cloning into '/home/gemini/Downloads/hangover/freetype'...
It tries to clone freetype, but it stops as above and do nothing.
only if I did a git clone https://github.com/aseprite/freetype2 manually the submodule is updated.
Thank you.

Error with git submodule update

error: Server does not allow request for unadvertised object 151e57f0d50649794dfacae32c5641c50211c04b
Fetched in submodule path 'wine', but it did not contain 151e57f0d50649794dfacae32c5641c50211c04b. Direct fetching of that commit failed.

submodule fail

screenshot from 2018-07-11 07-54-55

Android NDK, Tools, sysroot, wine build, qemu build and set path done.
However, the error still occurs.

Can't execute not a single program on android version

Hello. My device withour root can't access /data folder, so in winecfg i added disc to accessible sdcard folder. Put some test x86 windows applications. And i can't run any of them. Even simples putty.exe, even notepad++ . They all just give error with just a name of the file, that's all. Could you advise what coul be the problem.

If from command line i cd to directory and type the name of the program, i receive the program is not an internal or external program, nor a batch sxript. Looks like it doesn't locate it, but dir command shows it's there

Sorry, now i see you need to type queme-x86_64.exe.so first. But still nothing runs at all. No errors, nothing

Please help me

please if you can help me
I am trying to run winrar32.exe setup But nothing happened This is my code :
Wineconsole.exe
C:
cd c:\x86
c:\x86\qemu-x86-64.exe.so c:\x86\winrar.exe
I copied the file to x86 folder
I am sure my phone is architecture aarch64
Thank if you feedback

problem with wine and qemu when compiling

please, I can not continue with the installation.

make[2]: Entering directory '/root/hangover/build/wine-guest32/programs/wusa'
make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/root/hangover/build/wine-guest32/programs/wusa'
make[2]: Entering directory '/root/hangover/build/wine-guest32/programs/xcopy'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/root/hangover/build/wine-guest32/programs/xcopy'
Wine build complete.
make[1]: Leaving directory '/root/hangover/build/wine-guest32'
make -C build/qemu
make[1]: Entering directory '/root/hangover/build/qemu'
make[1]: *** No targets. Stop.
make[1]: Leaving directory '/root/hangover/build/qemu'
Makefile:118: recipe for target 'build/qemu/x86_64-windows-user/qemu-x86_64.exe.so' failed
make: *** [build/qemu/x86_64-windows-user/qemu-x86_64.exe.so] Error 2

Compiling Error using Dockerfile.android - Step 13 (Error 127)

Step 13/13 : RUN make -C /root/hangover -f Makefile.android
 ---> Running in f65b1b391e43
make: Entering directory `/root/hangover'
cd freetype ; NOCONFIGURE=1 ./autogen.sh
/bin/sh: 1: ./autogen.sh: not found
make: *** [freetype/builds/unix/configure] Error 127
make: Leaving directory `/root/hangover'
The command '/bin/sh -c make -C /root/hangover -f Makefile.android' returned a non-zero code: 2

I'm using Windows 10 Pro in order to use Docker for this method. I used Git Bash to get the repository, initalize and update the submodules, and then used PowerShell to use the Docker commands to run the Dockerfile.android. This is as far as it will let me get before erroring out.

[ARM64\aarch64] Build problem

First question. Is hangover intended to be build on arm64 boards?

And if yes. Second question. What to do with this error:

Description:
If i use gcc I'm getting this error:

make[1]: Entering directory '/root/hangover/wine/build/dlls/acledit'
gcc -c -o main.o ../../../dlls/acledit/main.c -I. -I../../../dlls/acledit -I../../include \
  -I../../../include -I../../../include/msvcrt -D__WINESRC__ -D_REENTRANT -fPIC -fno-builtin \
  -fshort-wchar -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body \
  -Wignored-qualifiers -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \
  -gstrict-dwarf -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
In file included from ../../../dlls/acledit/main.c:28:0:
../../../include/wine/debug.h: In function ‘wine_dbg_sprintf’:
../../../include/wine/debug.h:162:29: error: unknown type name ‘__builtin_ms_va_list’; did you mean ‘__builtin_va_list’?
 # define __wine_dbg_va_list __builtin_ms_va_list
                             ^
../../../include/wine/debug.h:176:5: note: in expansion of macro ‘__wine_dbg_va_list’
     __wine_dbg_va_list args;
     ^~~~~~~~~~~~~~~~~~
../../../include/wine/debug.h:163:40: warning: implicit declaration of function ‘__builtin_ms_va_start’; did you mean ‘__builtin_va_start’? [-Wimplicit-function-declaration]
 # define __wine_dbg_va_start(list,arg) __builtin_ms_va_start(list,arg)
                                        ^
../../../include/wine/debug.h:178:5: note: in expansion of macro ‘__wine_dbg_va_start’
     __wine_dbg_va_start( args, format );
     ^~~~~~~~~~~~~~~~~~~
../../../include/wine/debug.h:179:48: error: incompatible type for argument 4 of ‘vsnprintf’
     vsnprintf( buffer, sizeof(buffer), format, args );
                                                ^~~~
In file included from ../../../include/wine/debug.h:25:0,
                 from ../../../dlls/acledit/main.c:28:
../../../include/msvcrt/stdio.h:300:19: note: expected ‘va_list {aka __va_list}’ but argument is of type ‘int’
 static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format,args); }
                   ^~~~~~~~~
In file included from ../../../dlls/acledit/main.c:28:0:
../../../include/wine/debug.h:164:34: warning: implicit declaration of function ‘__builtin_ms_va_end’; did you mean ‘__builtin_va_end’? [-Wimplicit-function-declaration]
 # define __wine_dbg_va_end(list) __builtin_ms_va_end(list)
                                  ^
../../../include/wine/debug.h:180:5: note: in expansion of macro ‘__wine_dbg_va_end’
     __wine_dbg_va_end( args );
     ^~~~~~~~~~~~~~~~~
../../../include/wine/debug.h: In function ‘wine_dbg_printf’:
../../../include/wine/debug.h:162:29: error: unknown type name ‘__builtin_ms_va_list’; did you mean ‘__builtin_va_list’?
 # define __wine_dbg_va_list __builtin_ms_va_list
                             ^
../../../include/wine/debug.h:188:5: note: in expansion of macro ‘__wine_dbg_va_list’
     __wine_dbg_va_list args;
     ^~~~~~~~~~~~~~~~~~
../../../include/wine/debug.h:191:48: error: incompatible type for argument 4 of ‘vsnprintf’
     vsnprintf( buffer, sizeof(buffer), format, args );
                                                ^~~~
In file included from ../../../include/wine/debug.h:25:0,
                 from ../../../dlls/acledit/main.c:28:
../../../include/msvcrt/stdio.h:300:19: note: expected ‘va_list {aka __va_list}’ but argument is of type ‘int’
 static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format,args); }
                   ^~~~~~~~~
In file included from ../../../dlls/acledit/main.c:28:0:
../../../include/wine/debug.h: In function ‘wine_dbg_log’:
../../../include/wine/debug.h:162:29: error: unknown type name ‘__builtin_ms_va_list’; did you mean ‘__builtin_va_list’?
 # define __wine_dbg_va_list __builtin_ms_va_list
                             ^
../../../include/wine/debug.h:204:5: note: in expansion of macro ‘__wine_dbg_va_list’
     __wine_dbg_va_list args;
     ^~~~~~~~~~~~~~~~~~
../../../include/wine/debug.h:215:48: error: incompatible type for argument 4 of ‘vsnprintf’
     vsnprintf( buffer, sizeof(buffer), format, args );
                                                ^~~~
In file included from ../../../include/wine/debug.h:25:0,
                 from ../../../dlls/acledit/main.c:28:
../../../include/msvcrt/stdio.h:300:19: note: expected ‘va_list {aka __va_list}’ but argument is of type ‘int’
 static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format,args); }
                   ^~~~~~~~~
Makefile:171: recipe for target 'main.o' failed
make[1]: *** [main.o] Error 1
make[1]: Leaving directory '/root/hangover/wine/build/dlls/acledit'
Makefile:8472: recipe for target 'dlls/acledit' failed
make: *** [dlls/acledit] Error 2

If i use clang I'm getting this error:

make[1]: Entering directory '/root/hangover/wine/dlls/activeds'
clang -c -o activeds_main.o activeds_main.c -I. -I../../include -I../../include/msvcrt -D__WINESRC__ \
  -D_REENTRANT -fPIC -fno-builtin -fshort-wchar -Wall -pipe -fno-strict-aliasing \
  -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wno-pragma-pack \
  -Wstrict-prototypes -Wtype-limits -Wvla -Wwrite-strings -Wpointer-arith -gdwarf-2 -gstrict-dwarf \
  -g -O2
In file included from main.c:28:
../../include/wine/debug.h:178:5: error: '__builtin_ms_va_start' used in System V ABI function
    __wine_dbg_va_start( args, format );
    ^
../../include/wine/debug.h:163:40: note: expanded from macro '__wine_dbg_va_start'
# define __wine_dbg_va_start(list,arg) __builtin_ms_va_start(list,arg)
                                       ^
../../include/wine/debug.h:179:48: error: passing '__builtin_ms_va_list' to parameter of incompatible type 'va_list'
      (aka '__builtin_va_list')
    vsnprintf( buffer, sizeof(buffer), format, args );
                                               ^~~~
../../include/msvcrt/stdio.h:300:89: note: passing argument to parameter 'args' here
static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format...
                                                                                        ^
In file included from main.c:28:
../../include/wine/debug.h:190:5: error: '__builtin_ms_va_start' used in System V ABI function
    __wine_dbg_va_start( args, format );
    ^
../../include/wine/debug.h:163:40: note: expanded from macro '__wine_dbg_va_start'
# define __wine_dbg_va_start(list,arg) __builtin_ms_va_start(list,arg)
                                       ^
../../include/wine/debug.h:191:48: error: passing '__builtin_ms_va_list' to parameter of incompatible type 'va_list'
      (aka '__builtin_va_list')
    vsnprintf( buffer, sizeof(buffer), format, args );
                                               ^~~~
../../include/msvcrt/stdio.h:300:89: note: passing argument to parameter 'args' here
static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format...
                                                                                        ^
In file included from main.c:28:
../../include/wine/debug.h:214:5: error: '__builtin_ms_va_start' used in System V ABI function
    __wine_dbg_va_start( args, format );
    ^
../../include/wine/debug.h:163:40: note: expanded from macro '__wine_dbg_va_start'
# define __wine_dbg_va_start(list,arg) __builtin_ms_va_start(list,arg)
                                       ^
../../include/wine/debug.h:215:48: error: passing '__builtin_ms_va_list' to parameter of incompatible type 'va_list'
      (aka '__builtin_va_list')
    vsnprintf( buffer, sizeof(buffer), format, args );
                                               ^~~~
../../include/msvcrt/stdio.h:300:89: note: passing argument to parameter 'args' here
static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format...
                                                                                        ^
6 errors generated.
Makefile:171: recipe for target 'main.o' failed
make[1]: *** [main.o] Error 1
make[1]: Leaving directory '/root/hangover/wine/dlls/acledit'
Makefile:8462: recipe for target 'dlls/acledit' failed
make: *** [dlls/acledit] Error 2
make: *** Waiting for unfinished jobs....

I'm using Ubuntu 18.04.02. Kernel 4.4.154-90.

Required apk file

What is required of developers ?

  • A ready APK is required for Android

Why do I want it ?

Because I tried a lot to build Hangover using the tools Make or Docker but the two will not work with me I do not know why Is it because of my experience with the Linux system or I use a Linux environment is not integrated or that the process of building Hangover requires access to root powers or because of construction using an Android device.

WARNING: You may find it difficult to understand speech because my English is not good.

build error in docker

i am build in docker .run :
docker build -f Dockerfile.android -t hob ./
do it run configure with '--disable-werror '

logs:

cd build.android/qemu ; PKG_CONFIG_PATH=/root/hangover/build.android/aarch64-linux-android/lib/pkgconfig CC="/root/hangover/build.android/wine-host/tools/winegcc/winegcc -Wno-macro-redefined -D__ANDROID_API__=22 -I/opt/ndk/sysroot/usr/include -L/root/hangover/build.android/aarch64-linux-android/lib --sysroot=/root/hangover/build.android/wine-host -b aarch64-linux-android -B/root/hangover/build.android/wine-host/tools/winebuild -I/root/hangover/build.android/wine-host/include -I/root/hangover/wine/include -DWINE_NOWINSOCK" CXX="" ../../qemu/configure --disable-bzip2 --disable-libusb --disable-sdl --disable-snappy --disable-virtfs --disable-opengl --python=/usr/bin/python2.7 --disable-xen --disable-lzo --disable-qom-cast-debug --disable-vnc --disable-seccomp --disable-strip --disable-hax --disable-gnutls --disable-nettle --disable-replication --disable-tpm --disable-gtk --disable-gcrypt --disable-linux-aio --disable-system --disable-tools --disable-linux-user --disable-guest-agent --enable-windows-user --disable-fdt --disable-capstone ; cd ../.. ; touch build.android/qemu/Makefile

ERROR: configure test passed without -Werror but failed with -Werror.
This is probably a bug in the configure script. The failing command
will be at the bottom of config.log.
You can run configure with --disable-werror to bypass this check.

make -C build.android/qemu
make[1]: Entering directory /root/hangover/build.android/qemu' make[1]: *** No targets. Stop. make[1]: Leaving directory /root/hangover/build.android/qemu'
make: *** [build.android/qemu/x86_64-windows-user/qemu-x86_64.exe.so] Error 2
make: Leaving directory `/root/hangover'

Attempting to Build --without-x

Hey there! First off, awesome work!

I am attempting to generate a build for the NanoPC T3 running an on an aarch64 kernel to attempt to run a Windows console app written in VC++.

The only configuration change made to the makefile was adding:
../../wine/configure --enable-win64 $(TESTS) --without-x

When attempting to build on the NanoPC T3, I get:
(libtool: error: unrecognised option: '-DPACKAGE_VERSION_STRING="1.15"')

libtool: compile:  gcc -I. -I../../../libiconv/lib -I../include -I../../../libiconv/lib/../include -I.. -I../../../libiconv/lib/.. -g -O2 -fvisibility=hidden -DLIBDIR=\"/root/hangover/build/x86_64-w64-mingw32/lib\" -DBUILDING_LIBICONV -DBUILDING_DLL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"/root/hangover/build/x86_64-w64-mingw32/lib\" -DNO_XMALLOC -Dset_relocation_prefix=libiconv_set_relocation_prefix -Drelocate=libiconv_relocate -DHAVE_CONFIG_H -c ../../../libiconv/lib/iconv.c -o iconv.o
/bin/bash ../libtool --mode=compile --tag=RC  `/bin/sh ../../../libiconv/lib/../windows/windres-options --escape 1.15` -i ../../../libiconv/lib/../windows/libiconv.rc -o libiconv.res.lo --output-format=coff
Usage: /root/hangover/build/libiconv64/libtool [OPTION]... [MODE-ARG]...
Try 'libtool --help' for more information.
libtool:   error: unrecognised option: '-DPACKAGE_VERSION_STRING=\"1.15\"'
Makefile:93: recipe for target 'libiconv.res.lo' failed
make[2]: *** [libiconv.res.lo] Error 1
make[2]: Leaving directory '/root/hangover/build/libiconv64/lib'
Makefile:52: recipe for target 'install' failed
make[1]: *** [install] Error 2
make[1]: Leaving directory '/root/hangover/build/libiconv64'
Makefile:49: recipe for target 'build/x86_64-w64-mingw32/bin/libcharset-1.dll' failed
make: *** [build/x86_64-w64-mingw32/bin/libcharset-1.dll] Error 2

When attempting to build on Ubuntu windows (Linux 4.4.0-17134-Microsoft #137-Microsoft Thu Jun 14 18:46:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux), I get (/usr/bin/ld: unrecognized option '--enable-auto-image-base'):

checking for simple visibility declarations... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: executing libtool commands
make -C build/libiconv64/ install
make[1]: Entering directory '/mnt/d/temp/hangover/build/libiconv64'
builddir="`pwd`"; cd libcharset && make all && make install-lib libdir="$builddir/lib" includedir="$builddir/lib"
make[2]: Entering directory '/mnt/d/temp/hangover/build/libiconv64/libcharset'
cd lib && make all
make[3]: Entering directory '/mnt/d/temp/hangover/build/libiconv64/libcharset/lib'
/bin/bash ../libtool --mode=link gcc  -g -O2 -fvisibility=hidden -o libcharset.la -rpath /mnt/d/temp/hangover/build/x86_64-w64-mingw32/lib -version-info 1:0:0 -no-undefined localcharset.lo relocatable.lo
libtool: link: gcc -shared  .libs/localcharset.o .libs/relocatable.o    -g -O2   -o .libs/libcharset-1.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libcharset.dll.a
/usr/bin/ld: unrecognized option '--enable-auto-image-base'
/usr/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
Makefile:59: recipe for target 'libcharset.la' failed
make[3]: *** [libcharset.la] Error 1
make[3]: Leaving directory '/mnt/d/temp/hangover/build/libiconv64/libcharset/lib'
Makefile:34: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/mnt/d/temp/hangover/build/libiconv64/libcharset'
Makefile:42: recipe for target 'lib/localcharset.h' failed
make[1]: *** [lib/localcharset.h] Error 2
make[1]: Leaving directory '/mnt/d/temp/hangover/build/libiconv64'
Makefile:49: recipe for target 'build/x86_64-w64-mingw32/bin/libcharset-1.dll' failed
make: *** [build/x86_64-w64-mingw32/bin/libcharset-1.dll] Error 2

Is there a particular required build environment for this tool/am I missing something simple?

Thanks!

ntdll error on Hangover dll compile

Previous thread #38

Hardware: Nintendo Switch running Arch ARM aarch64 with L4T 4.9 kernel

Packages:

[parker@alarm hangover]$ uname -a
Linux alarm 4.9.140+ #1 SMP PREEMPT Thu Jan 2 09:32:08 PST 2020 aarch64 GNU/Linux
[parker@alarm hangover]$ pacman -Q `pacman -Qsq mingw-`
mingw-w64-binutils 2.33.1-1
mingw-w64-crt 7.0.0-1
mingw-w64-gcc 9.2.0-1
mingw-w64-headers 7.0.0-1
mingw-w64-winpthreads 7.0.0-1

When ntdll is being built as part of the Hangover code path, I am running into a conflict with a couple of the mingw builtins.

../../../dlls/ntdll/reg.c:1038:28: error: conflicting types for ‘NtQueryMultipleValueKey’
 1038 | WINBASEAPI NTSTATUS WINAPI NtQueryMultipleValueKey(HANDLE KeyHandle, PKEY_MULTIPLE_VALUE_INFORMATION ListOfValuesToQuery, ULONG NumberOfItems, PVOID MultipleValueInformation, ULONG Length, PULONG ReturnLength)
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../dlls/ntdll/reg.c:25:
/usr/i686-w64-mingw32/include/winternl.h:1088:18: note: previous declaration of ‘NtQueryMultipleValueKey’ was here
 1088 |   NTSTATUS NTAPI NtQueryMultipleValueKey(HANDLE KeyHandle, PKEY_VALUE_ENTRY ValueEntries, ULONG EntryCount, PVOID ValueBuffer, PULONG BufferLength, PULONG RequiredBufferLength);
      |                  ^~~~~~~~~~~~~~~~~~~~~~~
../../../dlls/ntdll/reg.c:1176:28: error: conflicting types for ‘NtSetInformationKey’
 1176 | WINBASEAPI NTSTATUS WINAPI NtSetInformationKey(HANDLE KeyHandle, const int KeyInformationClass, PVOID KeyInformation, ULONG KeyInformationLength)
      |                            ^~~~~~~~~~~~~~~~~~~
In file included from ../../../dlls/ntdll/reg.c:25:
/usr/i686-w64-mingw32/include/winternl.h:1089:18: note: previous declaration of ‘NtSetInformationKey’ was here
 1089 |   NTSTATUS NTAPI NtSetInformationKey(HANDLE KeyHandle, KEY_SET_INFORMATION_CLASS KeySetInformationClass, PVOID KeySetInformation, ULONG KeySetInformationLength);
      |                  ^~~~~~~~~~~~~~~~~~~
make[1]: *** [../../../dlls/ntdll/Makefile:18: reg_g.o] Error 1
make[1]: Leaving directory '/home/parker/build/hangover/build/dlls32/ntdll'
make: *** [Makefile:196: build/dlls32/ntdll/ntdll.dll] Error 2
make: *** Waiting for unfinished jobs....

I attempted the fixes from #38 (comment) which does get past that error but fails on final linking.

Wine build complete.
make[1]: Leaving directory '/home/parker/build/hangover/build/wine-guest32'
ln -sf ../../../dlls64/ntdll/ntdll.dll build/qemu/x86_64-windows-user/qemu_guest_dll64/
make -C build/dlls64/ntdll ntdll.dll
make[1]: Entering directory '/home/parker/build/hangover/build/dlls64/ntdll'
../../../build/wine-host/tools/winegcc/winegcc --winebuild ../../../build/wine-host/tools/winebuild/winebuild -I../../../build/wine-host/include -I../../../wine/include --wine-objdir ../../../build/wine-guest -shared -b x86_64-w64-mingw32 ../../../dlls/ntdll/ntdll.spec *_g.o -o ntdll.dll -nodefaultlibs -nostdlib -Wl,--image-base,0x9000000
/usr/lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld: ntdll.dll-3xxOKd.spec.o:fake:(.edata+0x434): undefined reference to `NtSetContextThread'
/usr/lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld: ntdll.dll-3xxOKd.spec.o:fake:(.edata+0xfb8): undefined reference to `NtSetContextThread'
collect2: error: ld returned 1 exit status
winegcc: x86_64-w64-mingw32-gcc failed
make[1]: *** [../../../dlls/ntdll/Makefile:12: ntdll.dll] Error 2
make[1]: Leaving directory '/home/parker/build/hangover/build/dlls64/ntdll'
make: *** [Makefile:203: build/dlls64/ntdll/ntdll.dll] Error 2

Vkd3d and DXVK support

Is it possible to run applications in Hangover by means of DXVK or vkd3d (Vulkan, not an OpenGL:ES)? And what I should do to run them ?

Aarch64 GNU/Linux Build error: /usr/bin/x86_64-w64-mingw32-windres: dialog control data: not enough binary data

Build error on aarch64 PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
Device hikey970

x86_64-w64-mingw32-gcc -m64 -c -o winstation.o ../../../../../wine/dlls/user32/tests/winstation.c -I. \
  -I../../../../../wine/dlls/user32/tests -I../../../include -I../../../../../wine/include \
  -D__WINESRC__ -D_REENTRANT -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement \
  -Wempty-body -Wignored-qualifiers -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \
  -gstrict-dwarf -Wno-format -g -O2 -D_WIN32
x86_64-w64-mingw32-gcc -m64 -c -o wsprintf.o ../../../../../wine/dlls/user32/tests/wsprintf.c -I. \
  -I../../../../../wine/dlls/user32/tests -I../../../include -I../../../../../wine/include \
  -D__WINESRC__ -D_REENTRANT -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement \
  -Wempty-body -Wignored-qualifiers -Wshift-overflow=2 -Wstrict-prototypes -Wtype-limits \
  -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith -Wlogical-op -gdwarf-2 \
  -gstrict-dwarf -Wno-format -g -O2 -D_WIN32
../../.././../wine-host/tools/wrc/wrc -o resource.res -b x86_64-w64-mingw32 -m64 --nostdinc -I. \
  -I../../../../../wine/dlls/user32/tests -I../../../include -I../../../../../wine/include \
  -D__WINESRC__ ../../../../../wine/dlls/user32/tests/resource.rc
x86_64-w64-mingw32-gcc -m64 -c -o testlist.o testlist.c -I. -I../../../../../wine/dlls/user32/tests -I../../../include \
  -I../../../../../wine/include -D__WINESRC__ -D_REENTRANT -Wall -pipe -fno-strict-aliasing \
  -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Wshift-overflow=2 \
  -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \
  -Wlogical-op -gdwarf-2 -gstrict-dwarf -Wno-format -g -O2 -D_WIN32
../../.././../wine-host/tools/winegcc/winegcc -s -o user32_test-stripped.exe -B../../.././../wine-host/tools/winebuild \
  --sysroot=../../.. -b x86_64-w64-mingw32 -m64 -fasynchronous-unwind-tables -Wb,-F,user32_test.exe \
  broadcast.o class.o clipboard.o combo.o cursoricon.o dce.o dde.o dialog.o edit.o generated.o \
  input.o listbox.o menu.o monitor.o msg.o resource.o scroll.o static.o sysparams.o text.o uitools.o \
  win.o winstation.o wsprintf.o resource.res testlist.o ../../../dlls/user32/libuser32.a \
  ../../../dlls/gdi32/libgdi32.a ../../../dlls/advapi32/libadvapi32.a 
/usr/bin/x86_64-w64-mingw32-windres: dialog control data: not enough binary data
winebuild: /usr/bin/x86_64-w64-mingw32-windres failed with status 1
winegcc: ../../.././../wine-host/tools/winebuild/winebuild failed
Makefile:829: recipe for target 'user32_test-stripped.exe' failed
make[2]: *** [user32_test-stripped.exe] Error 2
make[2]: Leaving directory '/home/shunya/build-dir/hangover/build/wine-guest/dlls/user32/tests'
Makefile:7507: recipe for target 'dlls/user32/tests' failed
make[1]: *** [dlls/user32/tests] Error 2
make[1]: Leaving directory '/home/shunya/build-dir/hangover/build/wine-guest'
Makefile:102: recipe for target 'wine-guest' failed
make: *** [wine-guest] Error 2

black screen with release 0.4 on android

Hello i try your release in my android phone (xiaomi mi mix 2 with lineageos 15.1 (android 8.
1))

i install your apk but when i launch application i have this message "setting up the windows environnement"
and after this step i have only black screen

Do you have any idea what caused the error?
is there a way to read the application logs?

About script in gen branch

I try to use the python script in the gen branch to generate some API defination, but it seems than the script is old, and it try to write some ".def" file. Is there any new version of the gen script.
And thanks for great work! I'm trying to adapt some more apps to run.

Building on OSX Mojave

Hi,

Can anyone provided guidance on how to compile for OSX Mojave (planning on using in Catalina to run a 32bit exe), I have installed all the depedencies but I am stuck on getting the X libraries

checking for X... no
configure: error: X 64-bit development files not found. Wine will be built
without X support, which probably isn't what you want. You will need
to install 64-bit development packages of Xlib at the very least.
Use the --without-x option if you really want this.

Questions about Hangover's design

This isn't so much an issue, as a question about some of the design choices in Hangover. I wasn't sure where else would be suitable.

In the readme, under the 32 bit guest support, three main points are made:

  1. The host Wine is always built as a 64 bit application. Hangover handles 32 bit applications by translating structures passed between the application and Wine.

  2. The address space is limited to 4 GB by reserving every address below 4 GB, then calling mmap to reserve remaining space until we run out of free address space and then freeing up the bottom 4 GB again. Most host Wine libraries are loaded earlier above 4 GB to keep the previous space below 4 GB as free as possible.

  3. Wine sees every process as a 64 bit process, so its WoW64 layer is not active. This will work OK for pure 32 bit or pure 64 bit applications, but it will cause problems for mixed applications that expect a distinction between e.g. C:\windows\system32 and C:\windows\syswow64.

My questions are simply:

  1. Why is Wine built as a 64 bit application, rather than using the standard WoW64 + 32 bit build style like most distros provide? Wouldn't this simplify passing structures between the application and Wine? Further, wouldn't is also solve the problem presented in point 3 above? Is there some downside that I'm missing?

  2. How does the address spacing actually work? In practice, if a device has less than 4GB of memory, how can host Wine libraries be loaded above that point? Why is this actually done at all?

Apologies if some of these are obvious, I'm just confused, and it is my hope that if I understand why certain things are the way they are, I can solve the issues with the ARM32 port I'm working on.

undefined reference to NtSetContextThread

I've been attempting to build Hangover, and while most of the build seems to succeed, when building QEMU, I come across the following:

...
...
  GEN     trace/generated-helpers.c
  CC      x86_64-windows-user/trace/generated-helpers.o
  CC      x86_64-windows-user/trace/control-target.o
  CC      x86_64-windows-user/windows-user/main.o
...
...
In file included from /home/ubuntu/build/hangover/qemu/windows-user/main.c:32:
In file included from /home/ubuntu/build/hangover/qemu/windows-user/qemu.h:5:
In file included from /home/ubuntu/build/hangover/wine/include/windows.h:61:
/home/ubuntu/build/hangover/wine/include/winperf.h:165:10: warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
#include <poppack.h>
         ^
/home/ubuntu/build/hangover/wine/include/poppack.h:253:13: note: previous '#pragma pack' directive that modifies alignment is here
#    pragma pack()
            ^
In file included from /home/ubuntu/build/hangover/qemu/windows-user/main.c:47:
In file included from /home/ubuntu/build/hangover/qemu/windows-user/win_syscall.h:4:
/home/ubuntu/build/hangover/qemu/include/windows-user-services.h:22:15: error: invalid input constraint 'c' in asm
            : "c"(call)
              ^
32 warnings and 1 error generated.
winegcc: clang failed
make[2]: *** [/home/ubuntu/build/hangover/qemu/rules.mak:69: windows-user/main.o] Error 2
make[1]: *** [Makefile:491: x86_64-windows-user/all] Error 2
make[1]: Leaving directory '/home/ubuntu/build/hangover/build/qemu'
make: *** [Makefile:120: build/qemu/x86_64-windows-user/qemu-x86_64.exe.so] Error 2

The error occurs on an assembly call, in the qemu_syscall function of the given header:

static inline void qemu_syscall(struct qemu_syscall *call)
{
    /* TODO: 32 bit version. */
    asm volatile( "syscall\n"
            : /* no output */
            : "c"(call)
            : "memory");
}

I'm running Ubuntu aarch64 19.10 on a Raspberry Pi 4 4GB model, uname -a output is as below:

Linux ubuntu 5.3.0-1014-raspi2 #16-Ubuntu SMP Tue Nov 26 11:18:23 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux

Any advice would be greatly appreciated.

Compile qemu dll error ( msvcrt.dll )

Just started to compile qemu ( since already compiled wine ).
The first 2 dlls compiled fine ( kernel32.dll and ntdll.dll ) . The 3rd ( msvcrt.dll ) didn't .
The error is below. Please help me. Thanks.

i686-w64-mingw32-gcc ../../../dlls/msvcrt/undname.c -c -o undname_g.o -I../../../dlls/msvcrt/../include -I../../../dlls/msvcrt/../../qemu/include -DQEMU_CURRENT_DLL=DLL_MSVCRT -O2 -DGUEST_BIT=32 -DHOST_BIT=64 -D_MSVCR_VER=0 -D_WIN32_WINNT=0x0603 -DQEMU_DLL_GUEST
i686-w64-mingw32-gcc ../../../dlls/msvcrt/wcs.c -c -o wcs_g.o -I../../../dlls/msvcrt/../include -I../../../dlls/msvcrt/../../qemu/include -DQEMU_CURRENT_DLL=DLL_MSVCRT -O2 -DGUEST_BIT=32 -DHOST_BIT=64 -D_MSVCR_VER=0 -D_WIN32_WINNT=0x0603 -DQEMU_DLL_GUEST
../../../build/wine-host/tools/winegcc/winegcc -B ../../../build/wine-host/tools/winebuild/winebuild -I../../../build/wine-host/include -I../../../wine/include -shared -b i686-w64-mingw32 ../../../dlls/msvcrt/msvcrt.spec -L/home/gemini/hangover/build/wine-guest32/dlls *_g.o ../../wine-guest32/dlls/winecrt0/libwinecrt0.a -o msvcrt.dll -lkernel32 -l ntdll -nodefaultlibs -nostdlib -Wl,--image-base,0x30000000 -lntdll
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_copy_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_ctor_charptr: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_ctor_noalloc: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_copy_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_default_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_type_info_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_opequals: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_type_info_opequals_equals: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_type_info_opnot_equals: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_vector_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_vector_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_default_ctor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_bad_cast_scalar_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_exception_scalar_dtor: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_type_info_before: symbol not defined
/usr/bin/i686-w64-mingw32-ld: cannot export __thiscall___thiscall_MSVCRT_what_exception: symbol not defined
/usr/bin/i686-w64-mingw32-ld: warning: cannot find entry symbol _DllMainCRTStartup@12; defaulting to 0000000030001000
/usr/bin/i686-w64-mingw32-ld: except_g.o:except.c:(.text+0x621): undefined reference to strcmp' /usr/bin/i686-w64-mingw32-ld: except_g.o:except.c:(.text+0x944): undefined reference to memmove'
/usr/bin/i686-w64-mingw32-ld: except_g.o:except.c:(.text+0x9a0): undefined reference to `memmove'
collect2: error: ld returned 1 exit status
winegcc: i686-w64-mingw32-gcc failed
make[1]: *** [../../../dlls/msvcrt/Makefile:12: msvcrt.dll] Error 2
make[1]: Leaving directory '/home/gemini/hangover/build/dlls32/msvcrt'
make: *** [Makefile:199: build/dlls32/msvcrt/msvcrt.dll] Error 2
gemini@cosmopda:~/hangover$

How to compile binary files ?

The description

When I run a binary application or so called an executable file the error appears incomprehensible and no application works even when I try to run Notepad++. The built - in application also does not work, but it works only once when it closes the first cmd window only ...

What is required ?

  • Why external applications do not work (X86)?
  • Are there specific applications running on this application?
  • When will the most stable versions of final versions be released?
  • Is there a specific way to compile applications or standards?

NOTE: These questions were mentioned in my previous issue #30 but no one answered me.

Applications are not displayed on Android

We finally have CI for building, yay!
But sadly notepad++ isn't popping up on my phone while wineconsole and other built-in apps work. That's with the current build. Hangover 0.4 works.
I did some initial debugging, and it seems they are running, but are not visible. First guess would be the user32 wrapper, but it needs more debugging...

Please, help me

Problem : I've already installed wine on Termux and got a good run for the applications included with wine for aarch64 but my problem is that when I try to run a 32bit Windows application I get the following error wine bad exe program

Because he knows that wine does not contain an interpreter for 32bit
applications to turn it into the aarch64 brick

And I discovered it by chance your program but I do not know how to prove it because it is complicated for me because I'm a newbie in this area, please explain this to me ...

Thank you

WARNING : I use Google Translator to speak to you I am do not know English I'm still a beginner in learning English ....

Binary

Has someone built a binary of this that runs in Windows ARM or WSL?

I could do it, but the build instructions are harder than the compiling I'm used to and I'm not much of a C++ coder yet.

Build error

gureumi@ubuntu:~/hangover$ make -f Makefile.android
make -C build.android/wine-host
make[1]: Entering directory '/home/gureumi/hangover/build.android/wine-host'
make[2]: Entering directory '/home/gureumi/hangover/build.android/wine-host/libs/wpp'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/gureumi/hangover/build.android/wine-host/libs/wpp'
make[2]: Entering directory '/home/gureumi/hangover/build.android/wine-host/libs/port'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/gureumi/hangover/build.android/wine-host/libs/port'
make[2]: Entering directory '/home/gureumi/hangover/build.android/wine-host/libs/wine'
version=`(GIT_DIR=../../../../wine/.git git describe HEAD 2>/dev/null || echo "wine-3.12") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
make[2]: Leaving directory '/home/gureumi/hangover/build.android/wine-host/libs/wine'
make[2]: Entering directory '/home/gureumi/hangover/build.android/wine-host/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/gureumi/hangover/build.android/wine-host/include'

~~~ skip line ~~~

make[2]: Entering directory '/home/gureumi/hangover/build.android/wine-host/dlls/windowscodecsext'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/gureumi/hangover/build.android/wine-host/dlls/windowscodecsext'
make[2]: Entering directory '/home/gureumi/hangover/build.android/wine-host/dlls/wineandroid.drv'
(test -d assets && \
  rm -f assets/files.sum assets/sums.sum && \
  sha256sum `find assets -type f -print` | sed 's/ assets\// /' >files.sum && \
  sha256sum files.sum >sums.sum && \
  mv files.sum sums.sum assets) || rm -rf assets
gradle -q assembleDebug && mv build/outputs/apk/wine-debug.apk .

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':createIcon-hdpi'.
> A problem occurred starting process 'command 'rsvg-convert''

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 0s
Makefile:189: recipe for target 'wine-debug.apk' failed
make[2]: *** [wine-debug.apk] Error 1
make[2]: Leaving directory '/home/gureumi/hangover/build.android/wine-host/dlls/wineandroid.drv'
Makefile:8082: recipe for target 'dlls/wineandroid.drv' failed
make[1]: *** [dlls/wineandroid.drv] Error 2
make[1]: Leaving directory '/home/gureumi/hangover/build.android/wine-host'
Makefile.android:132: recipe for target 'build.android/wine-host/.built' failed
make: *** [build.android/wine-host/.built] Error 2
gureumi@ubuntu:~/hangover$

./build.android.sh not working with clang

i fixed this by changing all mention of clang++ to g++ and all mention of clang to gcc
or is there another way around this?
btw im building from cygwin64 on windows

Android files

How do I access Android files? There's only c over PI in this app, right? Interface display is not complete, winecfg modify the click.

Aarch64 GNU/Linux Build error: undefined reference to 'xmlXPathNodeSetAddUnique'... and more

gcc version 8.2-win32 20190215 (GCC)
Complete Build log:
https://pastebin.com/rif0iCxT

$ x86_64-w64-mingw32-gcc -v  
Using built-in specs.
COLLECT_GCC=x86_64-w64-mingw32-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/8.2-win32/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=aarch64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir='/usr/lib/aarch64-linux-gnu' --libexecdir='/usr/lib/aarch64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --with-headers=/usr/x86_64-w64-mingw32/include --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto --with-plugin-ld --enable-threads=win32 --program-suffix=-win32 --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic
Thread model: win32
gcc version 8.2-win32 20190215 (GCC) 

Failed to build

Hi, I left the compiler working all day, it finished successfully on wine, but when i check the build folder a lot of things wasnt builded,like qemu, etc. so I did make again and this happened (log):

this its the hugest project Ive ever attempt to build, it includes large programs like wine, so for me its really complicated to find the proper makefile or related with that option to erase or modify. at least hope you could give me some clue.
you know than I am on rpi (because of the usser log) and it will probably not work because its 32 bit os, but I want to give it a shot for low demanding games like civilization 2. maybe I had to modify something but thats another topic and you will not support that.

pi@pi:~/Desktop/hangover $ make
make -C build/libiconv64/ install
make[1]: se entra en el directorio '/home/pi/Desktop/hangover/build/libiconv64'
cd libcharset && make install prefix='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32' exec_prefix='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32' libdir='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib'
make[2]: se entra en el directorio '/home/pi/Desktop/hangover/build/libiconv64/libcharset'
cd lib && make install prefix='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32' exec_prefix='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32' libdir='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib'
make[3]: se entra en el directorio '/home/pi/Desktop/hangover/build/libiconv64/libcharset/lib'
if test yes = no; then
case 'mingw32' in
darwin[56])
need_charset_alias=true ;;
darwin
| cygwin* | mingw* | pw32* | cegcc*)
need_charset_alias=false ;;
*)
need_charset_alias=true ;;
esac ;
else
need_charset_alias=false ;
fi ;
/bin/sh ../../../../libiconv/libcharset/build-aux/mkinstalldirs /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib ;
/bin/bash ../libtool --mode=install /usr/bin/install -c libcharset.la /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/libcharset.la
libtool: install: /usr/bin/install -c .libs/libcharset.lai /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/libcharset.la
libtool: install: /usr/bin/install -c .libs/libcharset.a /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/libcharset.a
libtool: install: chmod 644 /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/libcharset.a
libtool: install: ranlib /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/libcharset.a
if test -f /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/charset.alias; then
sed -f ref-add.sed /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/charset.alias > /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/t-charset.alias;
/usr/bin/install -c -m 644 /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/t-charset.alias /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/charset.alias;
rm -f /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/t-charset.alias;
else
if $need_charset_alias; then
sed -f ref-add.sed charset.alias > /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/t-charset.alias;
/usr/bin/install -c -m 644 /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/t-charset.alias /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/charset.alias;
rm -f /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib/t-charset.alias;
fi ;
fi
make[3]: se sale del directorio '/home/pi/Desktop/hangover/build/libiconv64/libcharset/lib'
/bin/sh ../../../libiconv/libcharset/build-aux/mkinstalldirs /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/include
/usr/bin/install -c -m 644 include/libcharset.h /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/include/libcharset.h
/usr/bin/install -c -m 644 include/localcharset.h.inst /home/pi/Desktop/hangover/build/x86_64-w64-mingw32/include/localcharset.h
make[2]: se sale del directorio '/home/pi/Desktop/hangover/build/libiconv64/libcharset'
cd lib && make install prefix='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32' exec_prefix='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32' libdir='/home/pi/Desktop/hangover/build/x86_64-w64-mingw32/lib'
make[2]: se entra en el directorio '/home/pi/Desktop/hangover/build/libiconv64/lib'
/bin/bash ../libtool --mode=compile --tag=RC /bin/sh ../../../libiconv/lib/../windows/windres-options --escape 1.15 -i ../../../libiconv/lib/../windows/libiconv.rc -o libiconv.res.lo --output-format=coff
Usage: /home/pi/Desktop/hangover/build/libiconv64/libtool [OPTION]... [MODE-ARG]...
Try 'libtool --help' for more information.
libtool: error: unrecognised option: '-DPACKAGE_VERSION_STRING="1.15"'
Makefile:93: fallo en las instrucciones para el objetivo 'libiconv.res.lo'
make[2]: *** [libiconv.res.lo] Error 1
make[2]: se sale del directorio '/home/pi/Desktop/hangover/build/libiconv64/lib'
Makefile:52: fallo en las instrucciones para el objetivo 'install'
make[1]: *** [install] Error 2
make[1]: se sale del directorio '/home/pi/Desktop/hangover/build/libiconv64'
Makefile:46: fallo en las instrucciones para el objetivo 'build/x86_64-w64-mingw32/bin/libcharset-1.dll'
make: *** [build/x86_64-w64-mingw32/bin/libcharset-1.dll] Error 2

Error while Compiling via Makefile.android - Error 1

$ make -f Makefile.android
cd freetype ; NOCONFIGURE=1 ./autogen.sh
./autogen.sh: line 102: aclocal: command not found
./autogen.sh: line 55: test: 1: unary operator expected
./autogen.sh: line 59: test: 1: unary operator expected
./autogen.sh: line 67: test: 10: unary operator expected
./autogen.sh: line 71: test: 10: unary operator expected
./autogen.sh: line 102: libtoolize: command not found
./autogen.sh: line 55: test: 2: unary operator expected
./autogen.sh: line 59: test: 2: unary operator expected
./autogen.sh: line 67: test: 2: unary operator expected
./autogen.sh: line 71: test: 2: unary operator expected
./autogen.sh: line 102: autoconf: command not found
./autogen.sh: line 55: test: 2: unary operator expected
./autogen.sh: line 59: test: 2: unary operator expected
./autogen.sh: line 67: test: 62: unary operator expected
./autogen.sh: line 71: test: 62: unary operator expected
generating `configure.ac'
running `aclocal -I . --force'
./autogen.sh: line 15: aclocal: command not found
error while running `aclocal -I . --force'
make: *** [Makefile.android:61: freetype/builds/unix/configure] Error 1

I'm unsure if I'm still missing certain files. I have the environmental variables, JAVA_HOME, ANDROID_HOME, and NDK_SYSROOT all set and this is where I have gotten to so far. I'm using the Git Bash enviroment running on WIndows 10 to compile this and I plan to transfer the compiled program to my Android Tablet running WINE to test this out. I am using the Makefile.android script for this process as well. Any help is appreciated.

Various programs fail to install through Hangover

As mentioned in the README, there are several programs which run correctly through Hangover, but are unable to be installed using their installers, and thus must be copied from an existing Wine installation.

I'd like for this issue to be used by people to track each of the different cases of this occurring, and to help pinpoint the reasons.

At the very least, it would be helpful to provide screenshots of where certain installers fail, versus the expected successful output on a standard Wine install. Also of use would be debug logs from Wine, with warn, error and fixme output enabled at least.

qemu error compile on hangover. Linux arm64 on my cosmo Communicator.

After some time and some adjusts I have compiled everything of hangover , except qemu. I have changed in Makefile --winebuild to -B and --wine-objdir to --sysroot to work. ( in qemu ). I am compiling in my cosmo communicator arm64. The qemu log file shows :
/home/gemini/hangover/build/wine-host/tools/winegcc/winegcc -B /home/gemini/hangover/build/wine-host/tools/winebuild/winebuild -I/home/gemini/hangover/
build/wine-host/include -I/home/gemini/hangover/wine/include --sysroot=/home/gemini/hangover/build/wine-host -lpthread -DWINE_NOWINSOCK -U_WIN32 -UWIN6
4 -UWIN32 -DNOGDI -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
-fwrapv -std=gnu99 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
/home/gemini/hangover/build/wine-host/tools/winegcc/winegcc -B /home/gemini/hangover/build/wine-host/tools/winebuild/winebuild -I/home/gemini/hangover/
build/wine-host/include -I/home/gemini/hangover/wine/include --sysroot=/home/gemini/hangover/build/wine-host -lpthread -DWINE_NOWINSOCK -U_WIN32 -UWIN6
4 -UWIN32 -DNOGDI -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common
-fwrapv -std=gnu99 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error i386 not defined
#error i386 not defined
same for
config-temp/qemu-conf.c:2:2: error: #error x86_64 not defined
#error x86_64 not defined
config-temp/qemu-conf.c:2:2: error: #error sparc not defined
#error sparc not defined
same for (just the last line )
#error _ARCH_PPC not defined
#error mips not defined
#error s390 not defined
#error __riscv not defined
#error arm not defined
winegcc: winebuild failed

qemu-conf.c has only 1 line
int main(void) { return 0; }
Please, help me . Thanks

wine/dlls/ntdll/virtual.c:256: alloc_pages_vprot: Assertion `end <= pages_vprot_size << pages_vprot_shift' failed.

I compiled it properly on the x86_64 machine, but the compilation on aarch64 is all normal. I got these errors when I was running.

chj@ROCm:~/hangover$ ./build/wine-host/wine64 build/qemu/x86_64-windows-user/qemu-x86_64.exe.so build/wine-guest/programs/notepad/notepad.exe 
../../../../wine/dlls/ntdll/virtual.c:256: alloc_pages_vprot: Assertion `end <= pages_vprot_size << pages_vprot_shift' failed.
0009:err:process:start_wineboot failed to start wineboot, err 1359
.exe.so: ../../../../wine/dlls/ntdll/virtual.c:256: alloc_pages_vprot: Assertion `end <= pages_vprot_size << pages_vprot_shift' failed.
Aborted (core dumped)

armeabi-v7a support?

I'm trying to add support for 32 bit arm processors but I ran into a little problem... I don't know a lot about C code and qemu code is beyond my knowledge... I've made a hacky way to get around this problem by adding an arm folder into /qemu/windows-user/host folder... With some presumably good syscall files... It still complains about an unsupported architecture... How do I get around this?

qemu tree not exists

When I run "git submodule update", error occurs:

fatal: reference is not a tree: efdfc3c9456e264f36e8014ca1bdf906ae9917b6
Unable to checkout 'efdfc3c9456e264f36e8014ca1bdf906ae9917b6' in submodule path 'qemu'

Also, if I click "qemu" on the hangover github page, it will shows "Page not found".

Qemu error - vhost-user-gpu error pixman.h No such file [aarch64][Pinebook Pro]

As the name suggest, I'm building Hangover on the Pinebook Pro and I'm getting the following error:

make[1]: Leaving directory '/home/pak0st/Downloads/hangover/build/wine-guest32'
make -C build/qemu
make[1]: Entering directory '/home/pak0st/Downloads/hangover/build/qemu'
make[2]: Entering directory '/home/pak0st/Downloads/hangover/qemu/slirp'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/pak0st/Downloads/hangover/qemu/slirp'
  CC      contrib/vhost-user-gpu/main.o
/home/pak0st/Downloads/hangover/qemu/contrib/vhost-user-gpu/main.c:19:10: fatal error: pixman.h: No such file or directory
   19 | #include <pixman.h>
      |          ^~~~~~~~~~
compilation terminated.
winegcc: gcc failed
make[1]: *** [/home/pak0st/Downloads/hangover/qemu/rules.mak:69: contrib/vhost-user-gpu/main.o] Error 2
make[1]: Leaving directory '/home/pak0st/Downloads/hangover/build/qemu'
make: *** [Makefile:120: build/qemu/x86_64-windows-user/qemu-x86_64.exe.so] Error 2

My Google-fu isn't getting useful results for the moment. Any ideas as to what is causing this problem?

Edit: Missing system information.
Device: Pinebook Pro
OS: Manjaro ARM
Userspace: aarch64
Kernel version: 5.5
GPU driver: Panfrost

qemu configure fails

Tried building hangover using the Dockerfile below.
ERROR: glib-2.40 gthread-2.0 is required to compile QEMU
When manually doing export PKG_CONFIG_PATH="$(pwd)/build.android/aarch64-linux-android/lib/pkgconfig" like in #1 I get

aarch64-linux-android-gcc: error: aarch64-linux-android: No such file or directory
aarch64-linux-android-gcc: error: unrecognized command line option '-b'
FROM ubuntu:18.04

ENV ANDROID_HOME /opt/android-sdk-linux
ENV PATH ${PATH}:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools:${PATH}:${ANDROID_HOME}/tools

RUN apt-get update && apt-get install -y --no-install-recommends \
	unzip wget python \
	openjdk-8-jdk \
&&	rm -rf /var/lib/apt/lists/*

RUN	mkdir -p /opt/android-sdk-linux && mkdir -p ~/.android && touch ~/.android/repositories.cfg && \
	cd /opt/android-sdk-linux && \
	wget -q --output-document=sdk-tools.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && \
	unzip sdk-tools.zip && \
	rm -f sdk-tools.zip && \
	echo y | sdkmanager "build-tools;27.0.3" "platforms;android-26" && \
	echo y | sdkmanager "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services" && \
	sdkmanager "cmake;3.6.4111459"

RUN	cd /opt/ && wget -q --output-document=android-ndk.zip https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip && \
	unzip android-ndk.zip && \
	rm -f android-ndk.zip && \
	mv android-ndk-r17b android-ndk-linux && \
	cd /opt/android-ndk-linux && build/tools/make_standalone_toolchain.py --arch arm64 --api 26 --install-dir /opt/ndk && cd .. && rm -rf /opt/android-ndk-linux

WORKDIR /root/hangover
ENV NDK_SYSROOT /opt/ndk/sysroot
ENV PATH /opt/ndk/bin:${PATH}

RUN	apt-get update && apt-get install -y --no-install-recommends \
	python \
	flex bison \
	libfreetype6-dev \
	libxcb1-dev \
	libx11-dev  \
	gradle \
	librsvg2-bin \
	gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 \
	automake autoconf pkg-config libtool \
	gettext \
&&	rm -rf /var/lib/apt/lists/* \
&&	ln -s /usr/bin/autoconf /usr/bin/autoconf-2.69 \
&&	ln -s /usr/bin/autoheader /usr/bin/autoheader-2.69
docker build -t hgb docker/
docker run --rm -it -v `pwd`:/root/hangover hgb bash

Best/possible approach to enable network and/or internet

What could be the best or possible approaches to enable networking or to access internet using wine on android? Does the hangover has any effects on this matter?

I am aware that might be better to ask this question in wine forums but I can see it's more active here and hoping to get elaborative response.

I've tried to ping even it's own ip and loopback address 127.0.0.1 which responds with "Request timed out".

Is this because some network drivers missing on the guest OS or unimplemented feature by wine or is this some kind of permission issue enforced by the android host?

Any help or advice would be appreciated.

fail to compile on manjaro due unrecognised option: '-DPACKAGE_VERSION_STRING=\"1.15\"'

libtool:   error: unrecognised option: '-DPACKAGE_VERSION_STRING=\"1.15\"'
make[2]: *** [Makefile:93: libiconv.res.lo] Error 1
make[2]: se sale del directorio '/home/pi/Escritorio/hangover/build/libiconv32/lib'
make[1]: *** [Makefile:53: install] Error 2
make[1]: se sale del directorio '/home/pi/Escritorio/hangover/build/libiconv32'
make: *** [Makefile:43: build/i686-w64-mingw32/bin/libcharset-1.dll] Error 2
make: *** Se espera a que terminen otras tareas....
libtool:   error: unrecognised option: '-DPACKAGE_VERSION_STRING=\"1.15\"'
make[2]: *** [Makefile:93: libiconv.res.lo] Error 1
make[2]: se sale del directorio '/home/pi/Escritorio/hangover/build/libiconv64/lib'
make[1]: *** [Makefile:53: install] Error 2
make[1]: se sale del directorio '/home/pi/Escritorio/hangover/build/libiconv64'
make: *** [Makefile:47: build/x86_64-w64-mingw32/bin/libcharset-1.dll] Error 2

the qemu stuff werent compiled (and I have already compile qemu on my system)

doesn't work

Screenshot_2019-12-08-23-12-20
This quake2 the one built to Windows RT
Also why is notepad launched auto and how to change the screen size

Please work with Raptor CS to port this to the POWER9 (ppc64le) architecture

Wow, what an amazing project! 😃 This will grow in importance as more people start using ARM-based laptops (and possibly desktop systems?).

But there is also another interesting architecture to consider for Hangover: POWER9. This architecture supports both big-endian and little-endian (ppc64le) modes. Since Raptor CS has been offering completely open POWER9-based desktop solutions, particularly their new Blackbird motherboard, which is quite affordable as far as high end desktop systems go, having the possibility to run popular Windows games on such systems would suddenly make them even more compelling to a lot of people.

Would you be wiling to consider porting Hangover to POWER9/ppc64le? Perhaps you could reach out to Raptor CS for cooperation on this? Maybe they'd even be willing to donate development hardware to you for this purpose.

Thank you for considering this and regardless, great work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.