[Bug]: configure.py and kBuild hardcode 'VBox' Qt library infix (-lQt6CoreVBox) and legacy GTK2 plugins when building with --with-qt-dir on Linux
Les mainteneurs répondent en général sous 6 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 52/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- Active
- Domaine
- build-system, devtools
Piste de recherche
Start by reading configure.py and the kBuild rules that select Qt libraries and stage plugins; the report identifies those as the failing paths but does not give specific rule files. Reproduce with the stated Qt 6.8 SDK and --with-qt-dir, then inspect the missing library and GTK2 plugin dependencies. Done when configuration and staging work with upstream Qt 6.8 without the reported missing targets.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Version
7.2.22
Host OS Type
Linux
Host OS name + version
Debian 12 (Bookworm)
Host Architecture
x86
Guest OS Type
other
Guest Architecture
x86
Guest OS name + version
N/A (Host build system: configure.py and kBuild)
Component
Other
What happened?
When building VirtualBox trunk (r113835) on Debian 12 x86_64 using a standard upstream Qt 6.8.0 SDK directory via --with-qt-dir=$HOME/Qt/6.8.0/gcc_64, three build issues occur:
1. configure.py hardcodes -lQt6CoreVBox instead of -lQt6Core
Running:
./configure --disable-hardening --disable-docs --disable-java --with-qt-dir=$HOME/Qt/6.8.0/gcc_64
fails the Qt library check because configure.py links the test binary against Oracle's internal suffixed library name -lQt6CoreVBox:
[WARN]: Compilation of test program for qt failed
[WARN]: g++ -I/usr/include/c++/12 -I/home/adrian/Qt/6.8.0/gcc_64/include -L/home/adrian/Qt/6.8.0/gcc_64/lib /tmp/tmp61yp9ocv/testlib.cpp -fPIC -o /tmp/tmp61yp9ocv/testlib -std=c++17 -Wl,-rpath,/home/adrian/Qt/6.8.0/gcc_64/lib -lQt6CoreVBox
[WARN]: /usr/bin/ld: cannot find -lQt6CoreVBox: No such file or directory
collect2: error: ld returned 1 exit status
2. kBuild still expects the VBox infix on Qt6 libraries and plugins
After patching configure.py (s/Qt6CoreVBox/Qt6Core/g), configure.py succeeds, but kmk fails because the VBox infix is still expected on the libraries and plugins inside --with-qt-dir:
kmk: *** No rule to make target '/home/adrian/Qt/6.8.0/gcc_64/lib/libQt6CoreVBox.so', needed by '/home/adrian/vbox-build/vbox/out/linux.amd64/release/obj/VBoxDbg/VBoxDbg.so'. Stop.
kmk: *** No rule to make target '/home/adrian/Qt/6.8.0/gcc_64/plugins/platforms/libqxcbVBox.so', needed by '/home/adrian/vbox-build/vbox/out/linux.amd64/release/obj/qt-bin/plugins/platforms/libqxcbVBox.so'. Stop.
3. Pass - Staging requires legacy GTK2 Qt plugins removed in Qt 6
During kBuild: Pass - Staging, the build fails looking for libqgtk2VBox.so and libqgtk2styleVBox.so:
kmk: *** No rule to make target '/home/adrian/Qt/6.8.0/gcc_64/plugins/platformthemes/libqgtk2VBox.so', needed by '/home/adrian/vbox-build/vbox/out/linux.amd64/release/obj/qt-bin/plugins/platformthemes/libqgtk2VBox.so'. Stop.
kmk: *** No rule to make target '/home/adrian/Qt/6.8.0/gcc_64/plugins/styles/libqgtk2styleVBox.so', needed by '/home/adrian/vbox-build/vbox/out/linux.amd64/release/obj/qt-bin/plugins/styles/libqgtk2styleVBox.so'. Stop.
In Qt 6.8, GTK2 plugins do not exist (replaced by plugins/platformthemes/libqgtk3.so).
Workaround used to complete the build
- Replace
Qt6CoreVBoxwithQt6Coreinconfigure.py. - Create
*VBox.sosymlinks forlib/libQt6*.so*andplugins/**/*.soin the Qt 6.8 SDK directory. - Symlink
plugins/platformthemes/libqgtk2VBox.soandplugins/styles/libqgtk2styleVBox.so.
How can we reproduce this?
- On Debian 12 (x86_64), check out VirtualBox trunk:
svn co https://www.virtualbox.org/svn/vbox/trunk vbox cd vbox - Install an upstream Qt 6.8.0 SDK (
linux_gcc_64) into$HOME/Qt/6.8.0/gcc_64. - Run
./configurepointing--with-qt-dirto the Qt 6.8.0 directory:
-> Observeexport LD_LIBRARY_PATH="$HOME/Qt/6.8.0/gcc_64/lib:$LD_LIBRARY_PATH" export PATH="$HOME/Qt/6.8.0/gcc_64/bin:$PATH" ./configure --disable-hardening --disable-docs --disable-java --with-qt-dir=$HOME/Qt/6.8.0/gcc_64configure.logfailing with/usr/bin/ld: cannot find -lQt6CoreVBox. - Replace
Qt6CoreVBoxwithQt6Coreinconfigure.py, re-run./configure,source ./env.sh, and runkmk -j$(nproc):
-> Observekmkstopping on missinglibQt6CoreVBox.so,libqxcbVBox.so,libqgtk2VBox.so, andlibqgtk2styleVBox.so.
Did you upload all of your necessary log files, screenshots, etc.?
- Yes, I've uploaded all pertinent files to this issue.
- Langage dominant
- C
- Étoiles
- 1.4k
- Forks
- 219
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de VirtualBox/virtualbox
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
VirtualBox/virtualbox#979 ·
Les mainteneurs répondent en général sous 6 jours
-
[Bug]: Guest Additions 7.2.20 vboxvideo fails to build on Linux kernel 6.12.113 (drm_fb_helper_restore_fbdev_mode_unlocked: too few arguments)Peut-être pris @Berbe l’a pris il y a 11 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
VirtualBox/virtualbox#918 · 9 commentaires ·
Les mainteneurs répondent en général sous 6 jours
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 12/100
VirtualBox/virtualbox#981 ·
Les mainteneurs répondent en général sous 6 jours
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 8/100
VirtualBox/virtualbox#980 ·
Les mainteneurs répondent en général sous 6 jours
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 18/100
VirtualBox/virtualbox#977 ·
Les mainteneurs répondent en général sous 6 jours
Toutes les issues de VirtualBox/virtualbox
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
ROCm/rocm-libraries#15866 ·
Les mainteneurs répondent en général sous 2 jours
-
[Qt] Fix QString conversion for game name in game_list_actions.cppPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
Status: Opened
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Status: Opened
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
Les mainteneurs répondent en général sous 1 jour