--disable-large-address-space is broken in current master
When --disable-large-address-space
is passed to ./configure
, the current master
(eb60ec18) branch would fail to build with the error message below:
Command line: _build/stage0/bin/ghc -Wall -Wcompat -hisuf dyn_hi -osuf dyn_o -hcsuf dyn_hc -fPIC -dynamic -hide-all-packages -no-user-package-db '-package-env -' '-package-db _build/stage1/lib/package.conf.d' '-this-unit-id runghc-9.7.20230512-inplace' '-package-id base-4.18.0.0-inplace' '-package-id directory-1.3.8.1-inplace' '-package-id filepath-1.4.100.1-inplace' '-package-id process-1.6.17.0-inplace' '-package-id unix-2.8.1.0-inplace' -i -i/tmp/ghc-temp/_build/stage1/utils/runghc/build -i/tmp/ghc-temp/_build/stage1/utils/runghc/build/runghc/autogen -i/tmp/ghc-temp/utils/runghc -Irts/include -I_build/stage1/utils/runghc/build -I/tmp/ghc-temp/libraries/process/include -I/tmp/ghc-temp/_build/stage1/libraries/process/build/include -I/tmp/ghc-temp/libraries/directory -I/tmp/ghc-temp/_build/stage1/libraries/directory/build -I/tmp/ghc-temp/libraries/unix/include -I/tmp/ghc-temp/_build/stage1/libraries/unix/build/include -I/tmp/ghc-temp/libraries/time/lib/include -I/tmp/ghc-temp/_build/stage1/libraries/time/build/lib/include -I/tmp/ghc-temp/libraries/bytestring/include -I/tmp/ghc-temp/_build/stage1/libraries/bytestring/build/include -I/tmp/ghc-temp/libraries/base/include -I/tmp/ghc-temp/_build/stage1/libraries/base/build/include -I/tmp/ghc-temp/libraries/ghc-bignum/include/ -I/tmp/ghc-temp/_build/stage1/libraries/ghc-bignum/build/include/ -I/tmp/ghc-temp/rts/include -I/tmp/ghc-temp/_build/stage1/rts/build/include -optP-include -optP_build/stage1/utils/runghc/build/runghc/autogen/cabal_macros.h -outputdir _build/stage1/utils/runghc/build -fdiagnostics-color=always -XHaskell2010 -no-global-package-db -package-db=/tmp/ghc-temp/_build/stage1/inplace/package.conf.d -ghcversion-file=rts/include/ghcversion.h -ghcversion-file=rts/include/ghcversion.h -dynamic -optl-Wl,-rpath,$ORIGIN/../lib/x86_64-linux-ghc-9.7.20230512 -optl-Wl,-rpath,$ORIGIN/../../../lib/x86_64-linux-ghc-9.7.20230512 -optl-Wl,-zorigin -fno-use-rpaths -no-auto-link-packages -rtsopts -Wnoncanonical-monad-instances -optc-Wno-error=inline -optP-Wno-nonportable-include-path _build/stage1/utils/runghc/build/Main.dyn_o -o _build/stage1/bin/runghc -O0 -H64m
===> Command failed with error code: 1
ld.lld: error: undefined reference due to --no-allow-shlib-undefined: ACQUIRE_ALLOC_BLOCK_SPIN_LOCK
>>> referenced by /tmp/ghc-temp/_build/stage1/inplace/../rts/build/libHSrts-1.0.2-ghc9.7.20230512.so
ld.lld: error: undefined reference due to --no-allow-shlib-undefined: RELEASE_ALLOC_BLOCK_SPIN_LOCK
>>> referenced by /tmp/ghc-temp/_build/stage1/inplace/../rts/build/libHSrts-1.0.2-ghc9.7.20230512.so
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)
Command failed
Build failed.
It's likely that the ACQUIRE_ALLOC_BLOCK_SPIN_LOCK
/RELEASE_ALLOC_BLOCK_SPIN_LOCK
macros somehow wasn't properly expanded, though why that's the case needs some further analysis.