堆栈/泊坞窗/ IHaskell怪异的行为

我有一堆* .c和* .cpp文件,列在*.cabal文件的c-sources字段中。 我需要将它包含在IHaskell和其他一些软件包的项目中。 一切正常,build立没有问题。 stack exec ghci工作正常,我可以导入模块并执行任何代码。 stack ghci虽然抛出一些奇怪的错误,像这样:

 In file included from <command-line>:10:0: /...blabla.../.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/autogen/cabal_macros.h:157:0: note: this is the location of the previous definition #define CURRENT_PACKAGE_KEY "blabla" ^ 

我的包中stack ghci抱怨从它的C代码导出的符号。 另一个奇怪的是,符号依赖于configuration中显示exposed-modules的顺序,所以如果我把* .hs模块放在其他模块上,错误就会消失,但是如果我有两个* .hs文件从相同的* .c文件,它不会工作! stack exec jupyter -- console --kernel haskell启动,但立即抛出unknown symbol错误,如果我试图从我的包运行一些代码,总是相同的。

我有一个基于fpco/stack-build镜像, fpco/stack-build安装了jupyter和其他必要的东西。 我使用lts-3.0快照,如果它有某种相关性的话。

到底是怎么回事?

最近堆叠ghci已经有了很多的改进,现在还在进行中。 我build议testing出栈主,如果问题仍然存在,打开一个Github的问题。