Haskell:Arch Linux上缺少的C库适用于Ubuntu

我最近将我的PC从Ubuntu转移到Arch Linux 。 我现在收到以下错误(我使用堆栈来构建我的项目):

setup-Simple-Cabal-1.22.4.0-ghc-7.10.2:缺少对外部库的依赖:
*缺少C库:HSrts-ghc7.10.2
通常可以通过安装提供此库的系统包来解决此问题(您可能需要“-dev”版本)。 如果库已经安装但是在非标准位置,那么您可以使用标志–extra-include-dirs =和–extra-lib-dirs =来指定它的位置。

据我所知,Linux发行版的不同之处不应该引起任何问题。

我尝试过的事情:
– 添加库所在的路径–extra-lib-dirs
– 确保stack / ghc的版本与两个系统都是相同的acrose
无法找到两个系统之间的相关差异
(gcc版本不同但没有改变任何东西)

我有一个基于ubutu的docker容器,它在没有问题的情况下构建。

我唯一能想到的是,这个库的处理方式与一些随机C库不同,因为它包含Haskell-Runtime。 但我不知道这种差异会是什么。 或者不同的处理如何导致我的Arch System出现问题。

这里我的.cabal文件(该文件夹还包含整个项目): https : //github.com/opencog/atomspace/blob/master/tests/haskell/libExecutionOutputTest/opencoglib.cabal

好的,我想出了一个解决方法,而不是指定.cabal文件中的库:

 ... extra-libraries: HSrts-ghc7.10.2 ... 

你将它添加到你的stack.yaml文件:

 ... ghc-options: package-name: -lHSrts-ghc7.10.2 ... 

如果您的.cabal文件中也定义了exectuable,则会破坏可执行文件,因为库不仅包含在库中。 并且在可执行文件中包含运行时库会导致即时的分段错误。

Interesting Posts