Ar failure when cross-compiling host:aarch64-apple-darwin to target:x86_64-w64-mingw32
When cross compiling from host:aarch64-apple-darwin to target:x86_64-w64-mingw32 the compilation fails at stage0 with
ar: creating archive _build/stageBoot/linters/linters-common/build/libHSlinters-common-0.1.0.0.a
ar: @/var/folders/tv/35hlch6s3y15hfvndc71l6d40000gn/T/extra-file-94844998824-68860-132: No such file or directory
I've narrowed down the issue with the following clues:
- The file does indeed exist
- My host
ar
tool doesn't support the@
syntax and fails withNo such file or directory
because it's looking for a file that starts with@
(instead of interpreting the@
as special syntax) - The target
ar
tool does support@
, but it doesn't come into play here because the error is in stage0, which uses the hostar
. - I can successfully compile ghc using the same host and target with the
ar
that does not support@
The conclusion thus far is that we're not taking into consideration that when host /= target the ar
might not support the same flags
CC: @bgamari