Đối với những người vẫn bị mắc kẹt sau khi thử mọi tùy chọn khác trên internet, bạn có thể xem chính xác đường dẫn mà ứng dụng nổi tiếng libqxcb.so này đang tìm kiếm, để mở / tải Qtứng dụng ( VirtualBox-5.2.8là Qtứng dụng trong trường hợp của tôi), sử dụng công cụ strace . Trong trường hợp của tôi, vì tôi đang xây dựng VirtualBox-5.2.8từ nguồn của nó, nó đã tìm kiếm libqxcb.soở vị trí bên dưới:
"...VirtualBox-5.2.8/out/linux.amd64/release/bin/platforms/"
và không phải trong defaultđường dẫn thư viện, đường dẫn Qtcài đặt, v.v. Vì vậy, không có lddkiểm tra nào và các giải pháp khác hoạt động. Và cũng thiết lập QT_DEBUG_PLUGINS=1không tạo ra bất kỳ nhật ký bổ sung.
Chạy strace trên nhị phân VirtualBox mà tôi đã xây dựng bằng Clang / LLVM trên Ubuntu 17.10 x86_64:
...VirtualBox-5.2.8$ strace ./out/linux.amd64/release/bin/VirtualBox
.
.
.
access(".../VirtualBox-5.2.8/out/linux.amd64/release/bin/platforms/.", F_OK) = -1 ENOENT (No such file or directory)
write(2, "Qt FATAL: ", 10Qt FATAL: ) = 10
write(2, "This application failed to start"..., 154This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Reinstalling the application may fix this problem.) = 154
.
.
.
Đó là tôi hitting-the-nail-on-its-headlúc này, và tôi đã tạo ra symlinktừ các cài đặt Qt5.10.1của platformsthư mục đề cập dưới đây:
"...Qt5.10.1/Tools/QtCreator/lib/Qt/plugins/platforms/"vào tìm kiếm con đường đó là "...VirtualBox-5.2.8/out/linux.amd64/release/bin/". Do đó, VirtualBox-5.2.8được xây dựng từ nguồn trên Linux ( Ubuntu 17.10 x86_64) bằng cách sử dụng Clang/LLVM, cuối cùng đã khởi chạy thành công !
Trong thực tế, một điều thú vị ở đây là, tôi đã được xây dựng VirtualBox-5.2.8hoàn toàn sử dụng Clang/Clang++/LLVMtrên Ubuntu 17.10 x86_64sau khi nỗ lực đáng kể - cho FreeBSD, có đã là một cảng để xây dựng VirtualBoxsử dụng clangnhưng đối với Linux, nó phụ thuộc rất nhiều vào GCCnhư tôi đã thấy và do đó phải mất rất nhiều công sức để get đến thời điểm này để có thể xây dựng thành công VirtualBox-5.2.8từ nguồn của nó sử dụng Clang/Clang++/LLVMtrên Ubuntu 17.10 x86_64cho mục tiêu Linux/AMD64( Ubuntu 17.10 x86_64) và thành công khởi động nó sau khi giải quyết các vấn đề khác cùng với khét tiếng này libqxcb.somột.
Chúc mừng.