andrerh / hangover Goto Github PK
View Code? Open in Web Editor NEWHangover runs simple Win32 applications on arm64 Linux
License: GNU Lesser General Public License v2.1
Hangover runs simple Win32 applications on arm64 Linux
License: GNU Lesser General Public License v2.1
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 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 .
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.
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?
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/Downloads/hangover$ git submodule init
Initialized empty Git repository in /home/gemini/Downloads/hangover/update/.git/
gemini@cosmopda:
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: 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.
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 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
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
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.
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.
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.
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'
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!
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
I am trying to run a 32 bit program。such as :(https://notepad-plus-plus.org/repository/7.x/7.5.4/npp.7.5.4.bin.x64.7z)
It is failed .
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 ?
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
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?
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.
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.
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:
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.
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.
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:
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?
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.
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.
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$
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 ...
NOTE: These questions were mentioned in my previous issue #30 but no one answered me.
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...
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 ....
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.
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$
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
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.
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)
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
$ 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.
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.
Where can i get some screenshots or demo-video of hangover?
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
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)
I have a very limited environment where installing a cross compiler is not practical/possible. Can I use winegcc
and the other wine*
tools to build Hangover?
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?
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".
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
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
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.
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)
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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.