我正在尝试安装源自here的悖论定理证明。
当我运行makefile时,这是运行的命令:
ghc -optl -static -lstdc++ -I../instantiate -I../minisat/current-base ../minisat/current-base/Solver.or ../minisat/current-base/Prop.or ../instantiate/MiniSatWrapper.or ../instantiate/MiniSatInstantiateClause.or -fglasgow-exts -O2 -static -threaded -main-is Paradox.Main.main --make Paradox.Main -o paradox
它导致了几个错误:
Flags.hs:52:8:
Could not find module ‘Char’
Use -v to see a list of the files searched for.
适用于各种模块,包括但不限于Char
,CPUTime
,IO
。
最后的错误消息是
Makefile:38: recipe for target 'paradox.exe' failed
make: *** [paradox.exe] Error 1
我不知道Haskell,也不是我对GNU make
非常有经验,但我正在尝试为项目安装此软件包,并且它不够模糊,不能为我的操作系统打包(我是运行Arch Linux)。据我所知,它没有为任何操作系统打包,因此有必要从源代码安装。
据我所知,问题始于以下错误消息:
on the commandline: Warning:
-fglasgow-exts is deprecated: Use individual extensions instead
我正在使用Arch Linux软件包存储库中提供的GHC版本:package link
答案 0 :(得分:2)
看起来paradox是为GHC的旧版本编写的。您可以使用GHC 7.8或更早版本并设置
来修复所有这些“找不到模块”错误GHC = ghc -hide-package base -package haskell98
在Makefile中,但之后你可能会遇到更多错误。
关于-fglasgow-exts
的警告大部分都是无害的,您可以忽略它。