Как исправить ошибку: “ошибка поиска символа: /usr/local/lib/libQt5DBus.so.5: неопределенный символ”?

Вопрос или проблема

Я некоторое время использовал сетевой симулятор GNS3 без проблем, а затем через несколько дней, когда я запустил GNS3 Network Simulator, появился следующий ошибочный вывод, не знаю, что стало причиной этого.

$ sudo gns3

GNS3 GUI версия 1.5.2
Авторские права (c) 2007-2016 GNS3 Technologies Inc.
ваша локализация en_IN.ISO8859-1 кодировка не UTF-8, переключение на версию UTF-8...
2016-12-23 22:57:53 INFO logger.py:107 Уровень логирования: INFO
/usr/share/gns3/gns3-gui/bin/python: ошибка поиска символа: /usr/local/lib/libQt5DBus.so.5: неопределенный символ: _Z28qEnvironmentVariableIntValuePKcPb

Я попытался переустановить gns3, но ошибка осталась.

При удалении я получил следующие предупреждения:

dpkg: предупреждение: при удалении gns3-gui, каталог '/usr/share/gns3/gns3-gui/lib/python3.4/__pycache__' не пуст, поэтому не удален
dpkg: предупреждение: при удалении gns3-gui, каталог '/usr/share/gns3/gns3-gui/bin' не пуст, поэтому не удален
Удаление gns3-server (1.5.2~trusty1) ...
dpkg: предупреждение: при удалении gns3-server, каталог '/usr/share/gns3/gns3-server/lib/python3.4/__pycache__' не пуст, поэтому не удален
dpkg: предупреждение: при удалении gns3-server, каталог '/usr/share/gns3/gns3-server/bin' не пуст, поэтому не удален

Поэтому я удалил /usr/share/gns3* и снова попытался установить GNS3, но безуспешно.

Я попробовал следующие предложения, сделанные в этом ответе. Закомментировал строку "/usr/local/lib" в файле /etc/ld.so.conf.d/libc.conf, но это не помогло.

Также, когда я пытался установить GNS3 через Центр программного обеспечения Ubuntu.

введите описание изображения здесь

После того как вы удалили/закомментировали /usr/local/lib в /etc/ld.so.conf.d/libc.conf, вам также необходимо выполнить sudo ldconfig, чтобы обновить кэш библиотек.

Ответ или решение

Ошибка "symbol lookup error: /usr/local/lib/libQt5DBus.so.5: undefined symbol"

Ошибка при запуске GNS3, связанная с символом undefined symbol, в частности, относится к библиотеке libQt5DBus.so.5. Это может возникнуть по нескольким причинам, включая конфликты версий библиотек, неправильные пути к библиотекам или проблемы с кэшированием библиотек. В данной статье мы рассмотрим пошаговое решение данной проблемы.

Шаг 1: Проверка установленной версии Qt

Первое, что нужно сделать, это проверить, какие версии Qt у вас установлены:

dpkg -l | grep libqt5

Если вы видите несколько версий, это может вызвать конфликты. Убедитесь, что GNS3 использует правильную версию Qt. Вам может понадобиться удалить ненужные версии:

sudo apt remove libqt5dbus5

После удаления ненужных версий, переустановите необходимые библиотеки:

sudo apt install libqt5dbus5

Шаг 2: Обновление кеша библиотек

Если вы изменяли конфигурации, такие как /etc/ld.so.conf.d/libc.conf, важно обновить кэш библиотек. Для этого выполните команду:

sudo ldconfig

Это позволит системе правильно отобразить доступные библиотеки и их зависимости.

Шаг 3: Очистка остатков GNS3

Если вы предыдущее удаление GNS3 не было полным, это может привести к проблемам. Проверьте, остались ли какие-либо оставшиеся каталоги и файлы. Удалите их вручную:

sudo rm -rf /usr/share/gns3
sudo rm -rf /usr/local/lib/libQt5DBus.so.5

После удаления остатка, выполните снова установку GNS3:

sudo apt install gns3-gui gns3-server

Шаг 4: Установка правильных зависимостей

Убедитесь, что у вас установлены все необходимые зависимости для GNS3:

sudo apt install python3-pyqt5 python3-pyqt5.qtsvg
sudo apt install gns3-server

Шаг 5: Проверка переменных окружения

Проверьте, не установлены ли у вас пользовательские переменные окружения, которые могут влиять на работу GNS3 и библиотек Qt. Обратите внимание на переменные LD_LIBRARY_PATH и PKG_CONFIG_PATH. Если они установлены, попробуйте временно их очистить.

unset LD_LIBRARY_PATH
unset PKG_CONFIG_PATH

Шаг 6: Запуск GNS3 от имени обычного пользователя

Если вы запускали GNS3 с правами суперпользователя, попробуйте запустить его от имени обычного пользователя. Чтобы это сделать, просто выполните команду:

gns3

Запуск в режиме суперпользователя может иногда привести к проблемам с доступом к определенным директориям.

Заключение

После выполнения всех этих шагов проблема с ошибкой «symbol lookup error» должна быть устранена. Эта ошибка обычно связана с несовместимостью библиотек или неправильным их расположением. Если вышеупомянутые шаги не помогают, возможно, стоит обратиться к официальной документации GNS3 или сообществу для получения дополнительной помощи.

Хорошая практика — поддерживать систему в актуальном состоянии, регулярно обновляя все пакеты и зависимости, что уменьшает риск возникновения подобных ошибок в будущем.

Оцените материал
Добавить комментарий

Капча загружается...