首页 文章

Haskell Stack不使用系统Ghc

提问于
浏览
3

我正在尝试使用Haskell Stack来设置项目,但是使用ghc提供的堆栈我有一个-fPIC错误GitHub issue

为了绕过fPIC问题,我试图使用一个包管理器,使用7.10.3版本提供GHC(栈当前使用的是8.0.2)

当我试图强制堆栈使用systm ghc时,它只是忽略了我 . 我试图使用/home/user/.stack/config.yaml和 /stack.yaml system-ghc:true选项覆盖...但堆栈在设置中使用8.0.2版本 .

我错过了什么吗?

TL; DR

Stack忽略system-ghc:true选项

我跑了Sabayon 16


“haskell-primer”是项目名称

stack list-dependencies

base 4.9.1.0
ghc-prim 0.5.0.0
haskell-primer 0.1.0.0
integer-gmp 1.0.0.1
rts 1.0

1 回答

  • 9

    设置 system-ghc: true 允许Stack使用系统GHC(如果它与解析器的约束匹配) . 如果它与约束条件不匹配,它不会强制Stack使用系统GHC . 如果您的解析器需要GHC 8,但您的系统具有GHC 7,那么无论您给出什么值,Stack都不会使用您的系统GHC system-ghc . 相反,如果 system-ghc: false 那么Stack将永远不会使用系统GHC,无论其版本是否匹配 .

    来自Stack FAQ,强调我的:

    如果您希望堆栈使用系统GHC安装,请使用--system-ghc标志或运行堆栈配置系统-ghc --global true以使堆栈默认检查您的PATH以获得合适的GHC . 请注意,如果堆栈的版本与当前项目的配置兼容,特别是解析程序设置,则堆栈只能使用系统GHC安装 .

相关问题