- Package:
- qt6-declarative-dev
- Source:
- qt6-declarative-dev
- Description:
- Qt 6 declarative development files
- Submitter:
- Oswald Buddenhagen
- Date:
- 2024-12-19 17:36:02 UTC
- Severity:
- normal
- Tags:
while building qt creator, cmake spits out this message during the
generation phase (that is, after configuration is done):
======
CMake Error in src/plugins/qmldesigner/CMakeLists.txt:
Imported target "Qt::QmlPrivate" includes non-existent path
"/usr/include/x86_64-linux-gnu/qt6/QtQml/6.4.2"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
======
i have no clue where this is coming from, because there are no obvious
hits for QmlPrivate in the cmake directory.
but once i install qt6-declarative-private-dev, the error goes away.
i suppose this might be some dynamic magic in the upstream code that
isn't prepared for actually being split into public and private.
Hi, qtcreator does indeed need the private headers from qtdeclarative to build, see https://salsa.debian.org/qt-kde-team/qt/qtcreator/-/blob/ master/debian/control. An upstream project cannot know whether the public and private headers are in the same or in different packages. When private headers are needed in a project, you normally have to add the corresponding package to the build dependencies. Your error is quite typical for that. When cmake looks for a private target in a directory with the exact Qt version (6.4.2 in this case), then it's often the private headers that are missing. I'm closing this as I don't see how this is a bug. It's just the way it is.
huh? if the declaration of the private dependency is just missing in that qtc plugin, then fair enough. but that doesn't explain the total garbage error message which suggests some kind of internal error (it sort of suggests that an incomplete package is installed like in the other bug i reported, except that it's just not there). please investigate whether this is a result of splitting, and forward the bug to upstream with your findings.
You need the QML private headers for that part since ages. Exactly, it suggests you are missing the private headers. Whoever coded that made them a dependency. The fact that we split them and do not install them by default makes the code show that error message. No need to, the answer will be "install the private headers".
On miércoles, 12 de julio de 2023 19:15:20 -03 Lisandro Damian Nicanor Perez Meyer wrote: Or maybe you where suggesting that the error message is not as helpful as a more direct one. If that's the case... I don't think any of us will put time on that. If you want I can reopen the bug and mark it as wishlist. But you know the upstream procedure better than I, and maybe you can sen a patch to upstream!
turns out my suspicion was correct. the issue is tracked upstream at https://bugreports.qt.io/browse/QTBUG-87776 . please re-open the bug and retitle it appropriately.
reopen 1038699 reassign 1038699 src:qt6-base tag 1038699 upstream forwarded 1038699 https://bugreports.qt.io/browse/QTBUG-87776 thanks El viernes, 14 de julio de 2023 09:51:17 -03 Oswald Buddenhagen escribió: I must admit I clearly did not understand you, now by reading that bug report I get it. You are right, this should be fixed. Tagging accordingly. Thanks!!!