2017-01-25 4 views
0

Ich habe auf Ubuntu 16.04 mit ./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 Graph-Tool aus den Quellen kompiliert. Ich versuche jetzt, ein Skript mit Graph-Tool auszuführen, aber am folgenden Ausschnitt wirft er einen Fehler:Python: Symbol Lookup-Fehler: anaconda und kairo

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') 

Die Fehlermeldung ich erhalte, ist:

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

Der erste Ratschlag war ich In der Mailingliste des Graph-Tools war angegeben, dass ich den Pfad zur Cairo-Bibliothek hinzufügen müsste. Um dies zu tun habe ich

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

zu ~/.bashrc und ~/.profile. Das ist nicht mein Problem lösen und jetzt Nautilus wird nicht mehr starten und stattdessen wirft die folgende Fehlermeldung:

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

Weiß jemand, was ich tun müssen, um dieses Problem zu lösen? Wie würde ich herausfinden, wo die Cairo-Bibliotheken sind/welche Datei suche ich dort?

+0

Wie wäre diese Linie mit export LD_LIBRARY_PATH ersetzen = "$ LD_LIBRARY_PATH:/home/pmj27/anaconda2/lib"? – Shiping

+0

Ich habe es getan. 'echo $ LD_LIBRARY_PATH' gibt':/home/pmj27/anaconda2/lib' zurück. Nautilus startet glücklich, aber python beschwert sich immer noch 'python: symbol lookup error: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/draw/libgraph_tool_draw.so: undefiniertes Symbol: _ZN5Cairo7ContextC1EP6_cairob' –

Antwort

0

Wenn Sie anaconda auf Ubuntu verwenden, dann sollten Sie Folgendes tun:

$ conda update conda 
$ conda update anaconda 

Das sollte funktionieren. Es hat für mich funktioniert.

Ich hoffe, es hilft.