Получение /usr/local/gcc-8.2/lib64/libstdc++.so.6: версия `GLIBCXX_3.4.26 'не найдена (требуется для /usr/lib/x86_64-linux-gnu/libjsoncpp.so.1), почему?

Получение

/usr/local/gcc-8.2/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /usr/lib/x86_64-linux-gnu/libjsoncpp.so.1)

почему?

Я все время получаю эту ошибку.

Совсем недавно я попытался запустить cmake и получил его.

Такое случалось не раз.

Я использую Ubuntu 20.04, все обновлено, поэтому я предполагаю, что gcc тоже. Но в последнее время такое случалось не раз.

Если я делаю строковые вещи, как рекомендовали другие сообщения, они появляются, что делает еще более странным.

Почему это происходит, что это означает, как это прошло мимо людей, которые поддерживают код, и как я могу это исправить?

0
задан 14 April 2021 в 13:07

1 ответ

Ошибка микропрограммного обеспечения DMAR. Неисправная BIOS

Да, именно BIOS выдает неверную информацию о ядре (т. е. не соответствует спецификации).

DMAR в основном используется для передачи графического процессора виртуальной машине Windows. Если вы не используете это, вы можете проигнорировать эту ошибку, иначе вам потребуется найти обновление BIOS.

Используйте intremap = no _ x2apic _ optout, чтобы переопределить настройку BIOS.

Используйте этот параметр, и ошибка игнорируется и больше не отображается. Измените GRUB _ CMDLINE _ LINUX _ DEFAULT :

sudo vi /etc/default/grub
  • добавьте intremap = no _ x2apic _ optout nox2apic .
  • Добавьте acpi = off , если система начинает жаловаться на ACPI.

После редактирования выполните

sudo update-grub

и перезагрузите компьютер.

-121--913792-

Причина, по которой порт 44302 работает, но порт 802 не работает, потому что порт 44302 находится в диапазоне открытых портов в брандмауэре, в то время как 802 - нет.

Порты 0 - 1023 считаются привилегированными портами и ограничены корневым пользователем в отличие от остальных портов.

Переключение порта с 802 на общий порт 80 альтернатива, как 8080 устранили проблему.

-121--913853-

Обычно такие основные библиотеки не следует помещать в /usr/local/lib .

Таким образом, вы должны переместить проблемную библиотеку в сторону с помощью команды ниже

mkdir ~/from-usr-local
sudo mv /usr/local/gcc-8.2/lib64/libstdc++.so.6 ~/from-usr-local/

или переместить всю проблемную папку в сторону

sudo mv /usr/local/gcc-8.2 ~/from-usr-local/

и повторить попытку.

Обратите внимание, что все необходимое системное программное обеспечение содержится в хранилищах. При наличии их в /usr/local возникнут проблемы, как вы уже видите. Все необходимые системные компоненты можно установить с помощью команды

sudo apt-get install cmake gcc gcc-8 build-essential --reinstall

, а затем повторить запуск cmake . Если проблема сохраняется - тщательно проверьте содержимое /usr/local .

0
ответ дан 23 April 2021 в 23:23

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

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