首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安装cairo失败:缺少符号_cairo_region_create_rectangles

安装cairo失败:缺少符号_cairo_region_create_rectangles
EN

Stack Overflow用户
提问于 2014-04-15 17:40:06
回答 1查看 721关注 0票数 1

我正在尝试安装图表包的cairo后端。我第一次按照这里(图表说明)这里(GTK/开罗)的指令安装了GTK和cairo,并拥有最新版本的文章:cairo-0.12.5.3gtk-0.12.5.7

然而,在尝试使用cairo时,我遇到了下面的步骤。

代码语言:javascript
运行
复制
> 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文件在以下方面失败:

代码语言:javascript
运行
复制
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之后。我遇到了一个新问题:

代码语言:javascript
运行
复制
`libHSgtk-0.12.5.7.a: unknown symbol `__imp___fmode'`.  

我试着彻底安装Haskell和cairo包(整个过程),确保了这次加载的所有all,并使用Process验证了gtk目录。可悲的是,我没有更多的时间来处理这个问题,必须放弃让cairo在Windows上使用Haskell的尝试。也许有一天我会再试一次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 01:01:37

根据cairo-1.9.2.,该函数的主要underscore已在开罗提交日志中删除。如果调用方位于Haskel端(根据我们的注释,这似乎不是),则考虑在该版本之前使用该版本;如果在gtk包中抛出异常,则考虑使用更新版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23090745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档