Đố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.8
là 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.8
từ 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 Qt
cài đặt, v.v. Vì vậy, không có ldd
kiể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=1
khô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-head
lúc này, và tôi đã tạo ra symlink
từ các cài đặt Qt5.10.1
của platforms
thư 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.8
hoàn toàn sử dụng Clang/Clang++/LLVM
trên Ubuntu 17.10 x86_64
sau khi nỗ lực đáng kể - cho FreeBSD
, có đã là một cảng để xây dựng VirtualBox
sử dụng clang
nhưng đối với Linux, nó phụ thuộc rất nhiều vào GCC
như 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.8
từ nguồn của nó sử dụng Clang/Clang++/LLVM
trên Ubuntu 17.10 x86_64
cho 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.so
một.
Chúc mừng.