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?
Wie wäre diese Linie mit export LD_LIBRARY_PATH ersetzen = "$ LD_LIBRARY_PATH:/home/pmj27/anaconda2/lib"? – Shiping
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' –