J'ai compilé un outil graphique depuis la source sur Ubuntu 16.04 en utilisant ./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
. Je suis maintenant en train d'exécuter un script utilisant outil graphique, mais à l'extrait suivant, il génère une erreur:python: erreur de recherche de symbole: anaconda et cairo
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')
Le message d'erreur que je reçois est:
python: symbol lookup error: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/draw/libgraph_tool_draw.so: undefined symbol: _ZN5Cairo7ContextC1EP6_cairob
Le premier conseil que j'étais donné sur la liste de diffusion graphique-outil était que je devrais ajouter le chemin à la bibliothèque de cairo. Pour ce faire, j'ajouté
export LD_LIBRARY_PATH="/home/pmj27/anaconda2/lib"
à ~/.bashrc
et ~/.profile
. Cela n'a pas résolu mon problème et maintenant Nautilus ne démarre plus et augmente au lieu l'erreur suivante:
nautilus: symbol lookup error: /home/pmj27/anaconda2/lib/libgdk-3.so.0: undefined symbol: cairo_surface_set_device_scale
Quelqu'un sait-il ce que je besoin de faire pour résoudre ce problème? Comment est-ce que je trouverais où les bibliothèques de cairo sont/quel dossier je recherche là?
Comment remplacer cette ligne par une exportation LD_LIBRARY_PATH = "$ LD_LIBRARY_PATH:/home/pmj27/anaconda2/lib"? – Shiping
Je l'ai fait. 'echo $ LD_LIBRARY_PATH' renvoie':/home/pmj27/anaconda2/lib'. Nautilus démarre heureusement mais python se plaint toujours de 'python: erreur de recherche de symbole: /home/pmj27/anaconda2/lib/python2.7/site-packages/graph_tool/draw/libgraph_tool_draw.so: symbole non défini: _ZN5Cairo7ContextC1EP6_cairob' –