https://bugs.winehq.org/show_bug.cgi?id=49438
Bug ID: 49438 Summary: Wine on ARM64 fails with "could not exec the wine loader" unless --enable-win64 is used Product: Wine Version: 5.11 Hardware: aarch64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: bshanks@codeweavers.com Distribution: ---
I've been building Wine on ARM64 (Ubuntu 19.10 64-bit on Raspberry Pi 4).
Since 67bc4a6d765941d830477f749ab7b0697f1488b2 ("ntdll: Don't use libwine during the Unix library initialization."), Wine fails with "could not exec the wine loader" unless '--enable-win64' is passed to configure. Before that commit, I was using configure without any options.
The problem looks to be that in dlls/ntdll/unix/server.c, 'loader/wine64' or 'loader/wine' is chosen based on the size of a pointer (is_win64). And unless '--enable-win64' is used, 'loader/wine' is built, but it tries to exec 'loader/wine64'.
I'm not sure what the best fix for this is. Require a win64 build when 64-bit code is being built? The 'configure' help text should also be updated.
Configure options now needed: './configure --enable-win64 CC=clang'