gnome-terminal e alguns outros comandos não podem iniciar no Ubuntu 18.04

1

No Ubuntu 18.04 depois de algum tempo de uso, recebi o seguinte erro ao tentar iniciar o gnome-terminal :

Traceback (most recent call last):
File "/usr/bin/gnome-terminal", line 9, in <module>
from gi.repository import GLib, Gio
File "/home/victor/.local/lib/python3.6/site-packages/gi/__init__.py", line 42, in <module>
from . import _gi
ImportError: /home/victor/.local/lib/python3.6/site-packages/gi/_gi.cpython-36m-x86_64-linux-gnu.so: undefined symbol: g_interface_info_find_method

Ocorre também um erro semelhante quando tento iniciar gnome-tweaks ou executar o comando add-apt-repository . No entanto, quando tento executar o gnome-terminal do menu "open in terminal" do nautilus, ele foi iniciado normalmente. O mesmo erro ocorre também se eu tentar fazer em python3:

from gi.repository import GLib

Eu serei grato por qualquer conselho.

Aqui está uma saída adicional relacionada aos parâmetros python3:

$ type python3; readlink /usr/bin/python3
python3 is /usr/bin/python3
python3.6
$ echo "$PYTHONPATH"; python3 -c 'import sys; print(sys.path)'

['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/victor/.local/lib/python3.6/site-packages', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']

Finalmente, encontrei a causa do erro. A biblioteca _gi.cpython-36m-x86_64-linux-gnu.so do módulo python3.6 gi depende do libgirepository-1.0.so pacote libgirepository1.0-dev , mas essa dependência não está listada no cabeçalho ELF da biblioteca. Então, a solução alternativa que usei é adicionar

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgirepository-1.0.so

para ~ / .profile . No entanto, ainda não entendo como isso pode acontecer e como resolver o problema da maneira certa. Eu sou um novato em programação C e encontrei a solução depois de ler o excelente artigo sobre a biblioteca de links em link

    
por victor 26.05.2018 / 18:23

0 respostas