我正在尝试安装图表包的cairo后端。我第一次按照这里(图表说明)和这里(GTK/开罗)的指令安装了GTK和cairo,并拥有最新版本的文章:cairo-0.12.5.3
和gtk-0.12.5.7
。
然而,在尝试使用cairo时,我遇到了下面的步骤。
> cabal install chart-cairo
Resolving dependencies...
Configuring Chart-cairo-1.2.2...
Building Chart-cairo-1.2.2...
Preprocessing library Chart-cairo-1.2.2...
[1 of 1] Compiling Graphics.Rendering.Chart.Backend.Cairo ( Graphics\Rendering\Chart\Backend\Cairo.hs, dist\build\Graphics\Rendering\Chart\Backend\Cairo.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package bytestring-0.10.0.2 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.2 ... linking ... done.
Loading package utf8-string-0.3.7 ... linking ... done.
Loading package cairo-0.12.5.3 ... linking ... ghc.exe: C:\Users\user\AppData\Roaming\cabal\i386-windows-ghc-7.6.3\cairo-0.12.5.3\libHScairo-0.12.5.3.a: unknown symbol `_cairo_region_create_rectangles'*
ghc.exe: unable to load package `cairo-0.12.5.3'
Failed to install Chart-cairo-1.2.2
cabal: Error: some packages failed to install:
Chart-cairo-1.2.2 failed during the building phase. The exception was:
ExitFailure 1
其他开罗计划也失败了。例如,与其一起安装的Drawing.hs
文件在以下方面失败:
Loading package cairo-0.12.5.3 ... linking ... <interactive>: C:\Users\user\AppData\Roaming\cabal\i386-windows-ghc-7.6.3\cairo-0.12.5.3\libHScairo-0.12.5.3.a: unknown symbol `_cairo_region_create_rectangles'
ghc.exe: unable to load package `cairo-0.12.5.3'
.a文件中缺少符号。nm
将其列为u
(未定义)。
这上面有一个开放的错误,但它已经三年没碰过了。(该bug有一个注释,表明问题与模板Haskell有关,但我没有使用TH进行任何操作。)
我是否需要开罗库的更新版本或更旧版本?上面的函数在哪里定义,为什么不在库中?对如何解决这个问题有什么建议吗?
谢谢!
编辑i最终确定,在%PATH%中,Graphviz和Gnuplot比GTK高,并且两者都有自己的cairo.dll
。因此,错误的错误是被运行时链接器所取。删除这些路径元素并尝试重新安装所有的cairo和GTK之后。我遇到了一个新问题:
`libHSgtk-0.12.5.7.a: unknown symbol `__imp___fmode'`.
我试着彻底安装Haskell和cairo包(整个过程),确保了这次加载的所有all,并使用Process验证了gtk目录。可悲的是,我没有更多的时间来处理这个问题,必须放弃让cairo在Windows上使用Haskell的尝试。也许有一天我会再试一次。
发布于 2014-04-16 01:01:37
根据cairo-
1.9.2.,该函数的主要underscore
已在开罗提交日志中删除。如果调用方位于Haskel端(根据我们的注释,这似乎不是),则考虑在该版本之前使用该版本;如果在gtk包中抛出异常,则考虑使用更新版本。
https://stackoverflow.com/questions/23090745
复制相似问题