#1038699 qt6-declarative-dev: files missing ... somehow

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:
#1038699#5
Date:
2023-06-20 09:38:54 UTC
From:
To:
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.

#1038699#10
Date:
2023-06-20 23:02:11 UTC
From:
To:
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.

#1038699#15
Date:
2023-06-21 08:51:37 UTC
From:
To:
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.

#1038699#20
Date:
2023-07-12 22:15:20 UTC
From:
To:
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".

#1038699#25
Date:
2023-07-12 22:32:22 UTC
From:
To:
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!

#1038699#30
Date:
2023-07-14 12:51:17 UTC
From:
To:
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.

#1038699#35
Date:
2023-07-18 13:44:38 UTC
From:
To:
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!!!