gnome-terminal и некоторые другие команды не могут запускаться в Ubuntu 18.04

В Ubuntu 18.04 после некоторого времени использования я получил следующую ошибку при попытке запустить 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

Аналогичная ошибка возникает и при попытке запуска gnome-terminal или выполнить команду add-apt-repository. Однако, когда я пытаюсь запустить gnome-терминал из меню «open in terminal» nautilus, он запускается нормально. Такая же ошибка возникает и при попытке сделать в python3:

from gi.repository import GLib

Буду благодарен за любой совет.

Вот дополнительный вывод, связанный с параметрами 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']

Наконец, я нашел причину ошибки. Библиотека add-apt-repository модуля python3.6 gi зависит от libgirepository-1.0.so от пакета libgirepository1.0-dev, но эта зависимость не указана в заголовке ELF библиотеки. Итак, обходной путь, который я использовал, - добавить

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

в gi . Тем не менее, я до сих пор не понимаю, как это может произойти и как правильно решить проблему. Я новичок в программировании на С и нашел решение после прочтения превосходной статьи по библиотеке, ссылки на которую http://www.kaizou.org/2015/01/linux-libraries/

1
задан 31 May 2018 в 13:29

0 ответов

Другие вопросы по тегам:

Похожие вопросы: