Приложения не работают из-за неработающей библиотеки Qt: отсутствует XCB (Ubuntu 17.10)
Молодой разработчик в обучении Я новичок в Ubuntu, и у меня возникают проблемы с работой...
Действительно, некоторые приложения не запускаются из-за дефекта библиотеки. Похоже, что эти приложения зависят от библиотек Qt.
Для нужд моих сетевых классов я установил VirtualBox. Но когда он был запущен, терминал оскорбил меня:
$virtualbox
Qt FATAL: This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: eglfs, linuxfb, minimal, minimalgl, offscreen, vnc, xcb.
Reinstalling the application may fix this problem.
Abandonment (core dumped)
У вас есть представление о том, что может пойти не так?
В ходе моих исследований в Интернете (прошло три дня, когда я не нашел никакого решения), я мог видеть, что, вероятно, была ссылка с файлом libqxcb.so
Это может быть библиотека или ссылка на библиотеку... Тем не менее, где-то путь кажется "неработающим", и я понятия не имею, как это исправить.
Тем не менее, у меня есть две копии libqxcb.so в двух каталогах Qt, и выполнение команды ldd libqxcb.so после помещения меня в эти каталоги не дает мне ответа, где написано "Не найдено".
Я установил 3 пакета virtualbox с хранилищем и переустановил их с помощью Synaptic, но безуспешно.
Что касается Qt, я установил его один раз (в версии 4) через репозитории Ubuntu, затем версию 5 с установщиком.run, представленным на официальном сайте Qt.
Также заметил сегодня, что я не смог запустить wireshark. Это также может быть вызвано несовершенной библиотекой Qt, но не то же самое? Эти вещи, вероятно, связаны...
moufid@Moufid:~$ wireshark
wireshark: error while loading shared libraries: libQt5Network.so.5: cannot open shared object file: No such file or directory
Заранее всем спасибо за помощь и ваши идеи!
Здесь был запрошенный вывод qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR="/usr/lib/x86_64-linux-gnu/qt4/bin"
QTLIBDIR="/usr/lib/x86_64-linux-gnu"
Я попробовал решение этого поста, но это не сработало.
Теперь вывод qtchooser -print-env
является:
QT_SELECT="default"
QTTOOLDIR="/home/moufid/Qt/5.10.1/gcc_64/bin"
QTLIBDIR="/home/moufid/Qt/5.10.1/gcc_64/lib"
Это это выход LD_LIBRARY_PATH=/home/moufid/Qt/5.10.1/gcc_64/lib/ ldd /usr/lib/virtualbox/VirtualBox.so | grep Qt
:
libQt5X11Extras.so.5 => /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5 (0x00007fd081d21000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fd0815d8000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fd080e71000)
libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007fd08062d000)
libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007fd0803be000)
libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007fd080167000)
Похоже, некоторые библиотеки установлены? У меня есть все эти файлы в /home/moufid/Qt/5.10.1/gcc_64/lib/ (проверено для них). CHMOD для папки /usr/lib/x86_64-linux-gnu/ - 755.
1 ответ
Недавно столкнулся с похожей проблемой
wireshark
:
- проводная акула 3.2.3
- убунту 20.04
- используя i3wm
Сообщение об ошибке:
$ wireshark
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
Aborted (core dumped)
После:
- пытаюсь установить
QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/
, а также - и работает с
QT_DEBUG_PLUGINS=1
Я нашел исправление.
Как ни странно, исправление для меня заключалось в том, чтобы просто явно установить переменную среды:
DISPLAY=:0 wireshark
Я бы подумал, что разумный дефолт для
DISPLAY
будет использоваться. Но это помогло. Я не могу быть уверен, что это решит ту же проблему, что и выше, но, поскольку я не нашел этого ответа больше нигде, кажется, стоит поделиться :)