- Вопрос или проблема
- Ответ или решение
- Ошибка "symbol lookup error: /usr/local/lib/libQt5DBus.so.5: undefined symbol"
- Шаг 1: Проверка установленной версии Qt
- Шаг 2: Обновление кеша библиотек
- Шаг 3: Очистка остатков GNS3
- Шаг 4: Установка правильных зависимостей
- Шаг 5: Проверка переменных окружения
- Шаг 6: Запуск GNS3 от имени обычного пользователя
- Заключение
Вопрос или проблема
Я некоторое время использовал сетевой симулятор 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 или сообществу для получения дополнительной помощи.
Хорошая практика — поддерживать систему в актуальном состоянии, регулярно обновляя все пакеты и зависимости, что уменьшает риск возникновения подобных ошибок в будущем.