Bug 2070151

Summary: Windows target not available for cross-compiling
Product: [Fedora] Fedora Reporter: Michael Cronenworth <mike>
Component: wineAssignee: Michael Cronenworth <mike>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: andreas.bierfert, besser82, dmalcolm, jakub, jistone, kkleine, mike, mtasaka, scottt.tw, sean, sguelton, siddharth.kde, tstellar, yaneti
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-04-03 21:20:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Cronenworth 2022-03-30 13:50:41 UTC
Description of problem:
The latest version of wine (https://winehq.org) requires a LLVM/Clang cross-compiler to build Windows PE binaries on the ARM64 arch.

When the configure test executes it fails:

checking for clang... clang
checking whether clang works... yes
checking whether the cross-compiler supports -target aarch64-windows -fuse-ld=lld -Wl,-subsystem:console... no
...snip...
configure: error: PE cross-compilation is required for ARM64, please install clang/llvm-dlltool/lld, or llvm-mingw.



Version-Release number of selected component (if applicable):
clang                                  aarch64  13.0.1-1.fc37
llvm                                   aarch64  13.0.1-1.fc37

How reproducible: Always


Steps to Reproduce:
1. Compile for "-target aarch64-windows"
2.
3.

Actual results: Failure


Expected results: PE binary


Additional info:


https://koji.fedoraproject.org/koji/buildinfo?buildID=1940475

https://source.winehq.org/git/wine.git/blob/HEAD:/configure.ac

Comment 1 Mamoru TASAKA 2022-03-30 14:39:17 UTC
configure:10766: checking whether the cross-compiler supports -target aarch64-windows -fuse-ld=lld -Wl,-subsystem:console
configure:10782: clang -o conftest.exe -g -O2 -D__WINE_PE_BUILD -Wall -nostartfiles -nodefaultlibs -target aarch64-windows -fuse-ld=lld -Wl,-subsystem:console   conftest.c  >&5
clang-13: error: unable to execute command: Executable "lld-link" doesn't exist!
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)

After adding BuildRequires: lld
checking whether the cross-compiler supports -target aarch64-windows -fuse-ld=lld -Wl,-subsystem:console... yes

Comment 2 Michael Cronenworth 2022-04-03 21:20:05 UTC
ARM64 is now building. ARM 32-bit is going to be dropped.