python:符号查找错误:anaconda和cairo

时间:2017-01-25 15:24:37

标签: python ubuntu cairo graph-tool nautilus

我使用./configure CXXFLAGS="-std=gnu++14 -Wno-unused-local-typedefs" PYTHON="/home/pmj27/anaconda2/bin/python2.7" CAIROMM_LIBS="-L/home/pmj27/anaconda2/include/cairomm-1.0/cairomm" --enable-openmp在Ubuntu 16.04上从源代码编译了图形工具。我现在正在尝试使用图形工具运行脚本,但在下面的代码片段中会抛出错误:

gt.graph_draw(g,pos = gt.arf_layout(g, max_iter=0),output_size=(3000,3000),vertex_surface = image, vertex_size = 150, vertex_halo=False, vertex_fill_color=color,vertex_shape=shape,edge_pen_width = number, output='scheme1.pdf')

我得到的错误信息是:

python: symbol lookup error: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/draw/libgraph_tool_draw.so: undefined symbol: _ZN5Cairo7ContextC1EP6_cairob

我在图工具邮件列表上给出的第一条建议是我需要添加到cairo库的路径。为此,我添加了

export LD_LIBRARY_PATH="/home/pmj27/anaconda2/lib"

~/.bashrc~/.profile。这并没有解决我的问题,现在Nautilus将不再启动,而是引发以下错误:

nautilus: symbol lookup error: /home/pmj27/anaconda2/lib/libgdk-3.so.0: undefined symbol: cairo_surface_set_device_scale 

有人知道我需要做些什么来解决这个问题吗?我怎样才能找到cairo库的位置/我在那里寻找什么文件?

2 个答案:

答案 0 :(得分:0)

如果您在Ubuntu上使用anaconda,那么您应该执行以下操作:

$ conda update conda
$ conda update anaconda

这应该有效。它对我有用。

希望它有所帮助。

答案 1 :(得分:0)

在执行python脚本(使用RDKit)时遇到了类似的问题。做了以下内容:
$ conda update conda
$ conda update anaconda
这对我有用。