堆栈构建失败并出现 LLD 错误

Stack build fails with LLD errors

我正在尝试使用 stack(特别是 haskell-ide-enginehlint)构建一些 Haskell 包,但它们都因许多 ld.lld 而失败错误消息,全部与 R_X86_64_32S 重定位相关,例如:

ld.lld: error: can't create dynamic relocation R_X86_64_32S against symbol: stg_bh_upd_frame_info in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>> defined in /home/kas/.stack/programs/x86_64-linux/ghc-tinfo6-8.6.5/lib/ghc-8.6.5/rts/libHSrts_thr.a(Updates.thr_o)
>>> referenced by /home/kas/.stack/setup-exe-src/setup-shim-mPHDZzAJ.o:(s6WS_info)

我尝试配置 stack 以使用不同的链接器(使用 ghc-options 标志),但我无法让它工作,而且它总是使用 lld.

有谁知道我如何更改 stack 的链接器,或以其他方式修复错误?

谢谢!

请参阅 stack 自己的常见问题解答中的 this 答案!