После моего последнего dist-обновления я теперь получаю отслеживания стека Python при входе в удар:
Last login: Wed Nov 28 19:33:57 2018 from x.x.x.x
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 28, in <module>
from CommandNotFound import CommandNotFound
File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in <module>
from CommandNotFound.db.db import SqliteDatabase
File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 3, in <module>
import sqlite3
File "/usr/lib/python3.6/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: /usr/lib/python3.6/lib-dynload/_sqlite3.cpython-36m-i386-linux-gnu.so: undefined symbol: sqlite3_transfer_bindings
Я должен отметить, что использую запас .bashrc, который шел с Ubuntu; единственная вещь, которую я изменил, добавляет псевдонимы для моих предпочтительных переключателей "ls".
Я также получаю подобные ошибки, когда попытка работать склонный - получает обновление:
Hit:1 http://us.archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://us.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 http://us.archive.ubuntu.com/ubuntu bionic-backports InRelease
Traceback (most recent call last):
File "/usr/lib/cnf-update-db", line 8, in <module>
from CommandNotFound.db.creator import DbCreator
File "/usr/lib/python3/dist-packages/CommandNotFound/db/creator.py", line 7, in <module>
import sqlite3
File "/usr/lib/python3.6/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: /usr/lib/python3.6/lib-dynload/_sqlite3.cpython-36m-i386-linux-gnu.so: undefined symbol: sqlite3_transfer_bindings
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/lib/command-not-found/ -a -e /usr/lib/cnf-update-db; then /usr/lib/cnf-update-db > /dev/null; fi'
E: Sub-process returned an error code
Я попробовал apt-get install --reinstall command-not-found
но напрасно. Я - мусор в следующих отслеживаниях стека и мог использовать некоторую справку. Заранее большое спасибо.
Я не эксперт, но я сталкивался с тем же неопределенным символом, пытающимся запустить sickbeard, таким образом, я выполнил следующую команду как корень:
scanelf -l -s sqlite3_transfer_bindings /lib/* /usr/* /opt/* | grep sqlite3_transfer_bindings
Который дал мне этот вывод:
ET_DYN sqlite3_transfer_bindings /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
ET_DYN sqlite3_transfer_bindings /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
Таким образом, я установил $LD_LIBRARY_PATH для своего sickbeard пользователя для равенства/usr/lib/x86_64-linux-gnu
И я смог выполнить sickbeard.
Таким образом, по-видимому, можно выполнить ту же команду и затем скорректировать значение LD_LIBRARY_PATH соответственно.