Qt segfault를 사용하는 GUI 애플리케이션에서 잘못된 경로가 확인되고 있다고 생각하시나요?

Qt segfault를 사용하는 GUI 애플리케이션에서 잘못된 경로가 확인되고 있다고 생각하시나요?

Qt 라이브러리(Konsole, P4V, Wireshark 등)를 사용하는 Ubuntu 22.04 애플리케이션을 열 수 없습니다. 그들은 즉시 세그폴트를 일으켰습니다.

디버그 로깅으로 Konsole을 시작하면 다음 경로에서 검색 중인 라이브러리에 대한 메타데이터를 찾으려고 하는 것을 볼 수 있습니다 /usr/lib/plugins/platforms.

QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/plugins/platforms/libqminimal.so"
"Failed to extract plugin meta data from '/usr/lib/plugins/platforms/libqminimal.so'" 
         not a plugin
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/plugins/platforms/libqoffscreen.so"
"Failed to extract plugin meta data from '/usr/lib/plugins/platforms/libqoffscreen.so'" 
         not a plugin
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/plugins/platforms/libqvkkhrdisplay.so"
"Failed to extract plugin meta data from '/usr/lib/plugins/platforms/libqvkkhrdisplay.so'" 
         not a plugin
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/plugins/platforms/libqvnc.so"
"Failed to extract plugin meta data from '/usr/lib/plugins/platforms/libqvnc.so'" 
         not a plugin
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/plugins/platforms/libqxcb.so"
"Failed to extract plugin meta data from '/usr/lib/plugins/platforms/libqxcb.so'" 
         not a plugin
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

작업 시스템에서 Konsole을 실행하면 다른 경로에서 라이브러리가 로드됩니다.

QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" ...
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so

이것이 문제입니까/어떻게 해결할 수 있습니까?

고쳐 쓰다:

내 QT_PLUGIN_PATH가 잘못된 값을 가리키는 것 같습니다. /usr/lib/plugins/platforms언제 이어야 하는지를 나타냅니다 /usr/lib/x86_64-linux-gnu/qt5/plugins/.

올바른 값으로 내보내면 Konsole이 작동합니다.

나는 이것을 명시적으로 변경한 적이 없습니다. Qt 설치를 재설정할 수 있는 방법이 있습니까? 저는 Qt 개발을 하지 않고 단지 GUI 애플리케이션을 개발하는 데만 필요합니다.

답변1

qt5-wayland설치되지 않았 거나 설치되지 않은 Wayland를 실행하고 있는 것 같습니다 qt6-wayland. 이를 설치하면 문제가 해결될 수 있습니다.

이 문제를 해결하기 위해 xorg로 전환할 수도 있지만 권장하지는 않습니다.

관련 정보