Wasm backend build failure on aarch64-darwin host
When looking into #22875, I discovered a build error for the wasm backend on aarch64-darwin host:
Command line: _build/stage0/bin/wasm32-wasi-ghc -Wall -Wcompat -hisuf hi -osuf o -hcsuf hc -static -hide-all-packages -no-user-package-db '-package-env -' '-package-db _build/stage1/inplace/package.conf.d' '-this-unit-id time-1.12.2' '-package-id base-4.18.0.0' '-package-id deepseq-1.4.8.0' -i -i/Users/terrorjack/workspace/ghc/_build/stage1/libraries/time/build -i/Users/terrorjack/workspace/ghc/_build/stage1/libraries/time/build/autogen -i/Users/terrorjack/workspace/ghc/libraries/time/lib -Irts/include -I_build/stage1/libraries/time/build -I_build/stage1/libraries/time/build/lib/include -Ilibraries/time/lib/include -I/Users/terrorjack/workspace/ghc/libraries/base/include -I/Users/terrorjack/workspace/ghc/_build/stage1/libraries/base/build/include -I/Users/terrorjack/workspace/ghc/libraries/ghc-bignum/include/ -I/Users/terrorjack/workspace/ghc/_build/stage1/libraries/ghc-bignum/build/include/ -I/Users/terrorjack/workspace/ghc/libraries/ghc-bignum/include -I/Users/terrorjack/workspace/ghc/_build/stage1/libraries/ghc-bignum/build/include -I/Users/terrorjack/workspace/ghc/rts/include -I/Users/terrorjack/workspace/ghc/_build/stage1/rts/build/include -optP-include -optP_build/stage1/libraries/time/build/autogen/cabal_macros.h -optc--target=wasm32-unknown-wasi -outputdir _build/stage1/libraries/time/build -fdiagnostics-color=always -Wnoncanonical-monad-instances -optc-Wno-unknown-pragmas -optP-Wno-nonportable-include-path -c _build/stage1/libraries/time/build/Data/Time/Clock/Internal/CTimespec.hs -o _build/stage1/libraries/time/build/Data/Time/Clock/Internal/CTimespec.o -fsplit-sections -O -H64m -Wall -fwarn-tabs -XHaskell2010 -XRank2Types -XDeriveDataTypeable -XStandaloneDeriving -XPatternSynonyms -XViewPatterns -no-global-package-db -package-db=/Users/terrorjack/workspace/ghc/_build/stage1/inplace/package.conf.d -ghcversion-file=rts/include/ghcversion.h -ghcversion-file=rts/include/ghcversion.h -O2 -Wno-deprecated-flags
===> Command failed with error code: 1
/var/folders/kv/s1qd7yxs0sb3622_8vh9dkfm0000zg/T/ghc31405_0/ghc_2.c:9:112: error:
error: returning 'const struct __clockid *' from a function with incompatible result type 'HsFloat' (aka 'float')
|
9 | HsFloat ghczuwrapperZC0ZCtimezm1zi12zi2ZCDataziTimeziClockziInternalziCTimespecZCCLOCKzuREALTIME(void) {return CLOCK_REALTIME;}
| ^
HsFloat ghczuwrapperZC0ZCtimezm1zi12zi2ZCDataziTimeziClockziInternalziCTimespecZCCLOCKzuREALTIME(void) {return CLOCK_REALTIME;}
^~~~~~~~~~~~~~
/Users/terrorjack/workspace/wasi-sdk-16/bin/../share/wasi-sysroot/include/__header_time.h:20:24: error:
note: expanded from macro 'CLOCK_REALTIME'
|
20 | #define CLOCK_REALTIME (&_CLOCK_REALTIME)
| ^
#define CLOCK_REALTIME (&_CLOCK_REALTIME)
^~~~~~~~~~~~~~~~~~
1 error generated.
`clang' failed in phase `C Compiler'. (Exit code: 1)
hadrian: getProcessGroupIDOf: does not exist (No such process)
Command failed
Build failed.
I don't understand why this failure would occur at all, given https://github.com/haskell/hsc2hs/pull/68 has been merged for some time, and it doesn't break on x86_64-linux hosts. But anyway, this bug should be looked into.