Я недавно пошел, чтобы попытаться отладить программу с помощью GDB, и получил следующую ошибку: gdb: error while loading shared libraries: libncursesw.so.6: cannot open shared object file: No such file or directory
Итак, я пошел исследовать и попробовал очевидные вещи, ie sudo apt-get install libncursesw5
(и варианты dev) и сообщает, что у меня уже есть последняя версия ... так что в следующий раз я попытался переустановить GDB, проблема сохраняется. Вывод ldd с GDB подтверждает мне, что он до сих пор не знает, где находится этот мифический файл libncursesw.so.6
, поэтому я go копаюсь в папке usr/lib/x86_64-linux-gnu
и запускаю ls libncu*
, который возвращает шесть результатов: libncurses.a
, libncurses++.a
, libncurses.so
, libncurses++w.a
, libncursesw.a
и libncursesw.so
... но не libncursesw.so.6
. Затем я наивно попытался сделать копию libncursesw.so
с именем libncursesw.so.6
, на которую GDB сообщает, что этот файл "слишком короткий".
При поиске в Google я не могу найти хорошее объяснение того, как получить этот файл на месте? Любой другой ответ, который я вижу, просто предлагает запустить sudo apt-get install libncursesw5
(или что-то подобное), но я уже попробовал почти все варианты, которые я могу придумать. Я собирался удалить его, а затем переустановить, но когда я это сделал, это дало мне страшное предупреждение, что я могу делать что-то потенциально опасное для моей системы, поэтому я отказался от этой идеи.
Некоторый контекст, который также может (?) Помочь: я запускаю довольно свежую установку Linux Mint 19.3 Cinnamon, и я впервые пытался запустить GDB на моем новом компьютере. Я в основном настроил этот новый компьютер как новую установку, просто портируя через мой домашний каталог и несколько более полезных скрытых. файлы с моего старого ноутбука ... Я полагаю, что это не должно быть причиной сбоя GDB / эти файлы не существуют на новой машине, но на всякий случай я упоминаю об этом.