LINUX.ORG.RU

Ошибка в терминале - cnf-lookup: error while loading shared libraries

 ,


0

1

С недавноего времени в каждом новом открытом сеансе терминала при его открытии появляется:

cnf-lookup: error while loading shared libraries: libboost_locale.so.1.76.0: cannot open shared object file: No such file or directory
bash: append_path: command not found
cnf-lookup: error while loading shared libraries: libboost_locale.so.1.76.0: cannot open shared object file: No such file or directory
bash: append_path: command not found
cnf-lookup: error while loading shared libraries: libboost_locale.so.1.76.0: cannot open shared object file: No such file or directory

Если просто ввести какую абракадабру:

$ blablabla
cnf-lookup: error while loading shared libraries: libboost_locale.so.1.76.0: cannot open shared object file: No such file or directory
bash: blablabla: command not found

Ничего толком не нагуглил. Что такое cnf-lookup и shared libraries libboost? Почему где-т раз в год такое появляется? Как это системно исправить?

Ответ на: комментарий от firkax

Что-то знакомое, подробнее про неё где почитать? Мана такого нет…

Переставил. Снёс. И не помогло, ведь дело не в ней:

Открываю новый терминал:

-bash: append_path: команда не найдена
-bash: append_path: команда не найдена
  
$ asdffsa
-bash: asdffsa: команда не найдена

И что такое cnf-lookup? Гугл не помог.

И что-то вспоминается про какие-то строки в конфигах по пути: /etc/profile*

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 2)
Ответ на: комментарий от hikikomori

Что значит не помогло? Надписей тех больше нет.

cnf-lookup это затычка из пакета command-not-found, которая сначала лагает 3 секунды а потом пишет в каком пакете могла быть твоя команда (вместо надписи «команда не найдена» как сейчас у тебя пишется). У тебя она не работала, и писала ошибки. Но от неё один вред поэтому проще снести чем чинить.

Гугл не помог.

Ищи в яндексе, там на 1 строчке эта твоя тема а на второй - обсуждение cnf-lookup. Но тебе больше не надо с ней выяснять, теперь выясни где у тебя команда append_path прописана и зачем.

firkax ★★★★★
()
Ответ на: комментарий от hikikomori

pacnew это скорее всего пакетный менеджер тебе предлагает новую версию файла для ручной проверки и установки. Ручной, потому что в старой ты что-то отредактировал и он не знает теперь как её обновить автоматически. Но с твоей проблемой это не связано, хотя лучше бы конечно посмотреть что там изменилось, сравнить всё это с /etc/profile (без .pacnew) и сделать новый /etc/profile с учётом и новой версии из пакета (pacnew) и твоих правок которые уже есть в файле без pacnew.

А почему повторяется проблема - видимо пакет с перлом удалился-установился (уж не знаю почему) и принёс тебе заново битый скрипт для /etc/profile.d

Только лучше не их комментировать а строку 'unset -f append_path' в /etc/profile. Или, если /etc/profile.d/* там инклюдятся явной командой, переставить этот unset после инклюдов.

Чтобы покончить «раз и навсегда» - отправь багрепорт мэйнтейнерам файла /etc/profile или мэйнтейнерам пакета перла.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

А я разве один такой? Думаю мейнт-ры уже знают, но кладут.

Спасибо за развёрнутый ответ, я ничего там не менял, только по факту ошибки комментил. Нужно время осмыслить написанное.

hikikomori ★★★
() автор топика
Ответ на: комментарий от einhander

Редко причина сразу на экране, чаще следствие… Дело снова в переименованной почему-то в append_path функции appendpath.

hikikomori ★★★
() автор топика
Последнее исправление: hikikomori (всего исправлений: 1)
Ответ на: комментарий от einhander

Заметил странность. В GUI терминале tilda всё ок, никаких ошибок, а в tty2 текстовом по Ctrl +alt + F-key ошибка осталась. Перестановка этого пакета yay -S extra/boost-libs эффекта не даёт. Я конечно редко бываю в чисто текстовом терминале, но всё же, что за фигня, и почему такое разное поведение. Разве Tilda, Konsone, Yakuake — перехватывают на себя обработку ошибок?

hikikomori ★★★
() автор топика
Ответ на: комментарий от firkax

Ругается только в голом текстовом терминале, в графических не ругается. Пробовал переставлять. Удалил: yay -R command-not-found и ошибки нет. Поставил обратно - другая ошибка «Warning: no database for lookup».

Причина - почему-то не поставилась корректно:

(1/1) установка command-not-found                                            [###########################################] 100%
Could not download catalog file ... aborting
ошибка: не удалось корректно выполнить команду

Я конечно сильно сомневаюсь в необходимости данной утилиты, но хотелось бы понять причину неисправности.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

Делаешь ldd ругающемуся бинарнику (/usr/bin/cnf-lookup, наверно, или где он там), смотришь список библиотек, к которым не найдены .so, ищешь пакетным менеджером в каком они пакете.

firkax ★★★★★
()
Ответ на: комментарий от einhander

Ну если я заново логинюсь в новом текстовом терминале, он же получает свежие переменные среды, нет? Пока снёс нафиг этот cnf. Всё равно в gui его работы не видно, а в текстовом tty ошибки летят(

hikikomori ★★★
() автор топика
Ответ на: комментарий от firkax

Я не очень понял, что мне с этой информацией делать?

$ ldd /usr/bin/cnf-lookup  | grep libboost
	libboost_locale.so.1.78.0 => /usr/lib/libboost_locale.so.1.78.0 (0x00007fca47df7000)
	libboost_filesystem.so.1.78.0 => /usr/lib/libboost_filesystem.so.1.78.0 (0x00007fca47987000)
	libboost_system.so.1.78.0 => /usr/lib/libboost_system.so.1.78.0 (0x00007fca478a0000)
	libboost_thread.so.1.78.0 => /usr/lib/libboost_thread.so.1.78.0 (0x00007fca47884000)
	libboost_chrono.so.1.78.0 => /usr/lib/libboost_chrono.so.1.78.0 (0x00007fca47879000)
	libboost_atomic.so.1.78.0 => /usr/lib/libboost_atomic.so.1.78.0 (0x00007fca4563d000)

Эта дурацкая софтина не может себя поставить:

(1/1) установка command-not-found                                            [###########################################] 100%
Could not download catalog file ... aborting
ошибка: не удалось корректно выполнить команду
:: Запуск post-transaction hooks...
$ /usr/bin/cnf-lookup lalala
WARNING: No database for lookup!
WARNING: No database for lookup!

В --database-path по умолчанию /var/lib/cnf/ пусто.

hikikomori ★★★
() автор топика
Ответ на: комментарий от hikikomori

тут 1.78 а ругается на 1.76?

А всё понял, это уже новая проблема. Ну посмотри её post-install скрипт и что она там откуда качает. Может под санкции попала.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Снова ставить… Достали уже эти опыты. Эта зараза почему-то при удалении потёрла мне .bash_history со всеми часто употребляемыми по ^r коммандами. По крайней мере ничего больше в это время в консоли не делал.

hikikomori ★★★
() автор топика