Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 940675 - dev-qt/qtdeclarative:6 may get only partially installed possibly(?) due to a portage order bug
Summary: dev-qt/qtdeclarative:6 may get only partially installed possibly(?) due to a ...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-02 23:47 UTC by brankob
Modified: 2024-10-21 20:25 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
output of emerge --info (emerge--info.txt,6.87 KB, text/plain)
2024-10-02 23:47 UTC, brankob
Details
build log (build.log.gz,7.92 KB, application/gzip)
2024-10-02 23:48 UTC, brankob
Details

Note You need to log in before you can comment on or make changes to this bug.
Description brankob 2024-10-02 23:47:47 UTC
Created attachment 904706 [details]
output of emerge --info

It fails just after configuration phase, when ninja is supposed to start compiling.

It fails with 

"ninja: error: unknown target 'WebEngineCore_sync_all_public_headers'"

I've attached the output of my "emerge --info" as well as the log file of the failed build.
Comment 1 brankob 2024-10-02 23:48:40 UTC
Created attachment 904707 [details]
build log
Comment 2 Ionen Wolkens gentoo-dev 2024-10-03 01:08:23 UTC
I suspect that the issue is not with qtwebengine, but rather that your qtdeclarative:6 install is broken for some reason.

Do the following files exist on your system for a sample?

    /usr/lib64/libQt6Qml.so.6
    /usr/lib64/cmake/Qt6Qml/Qt6QmlConfig.cmake
    /usr/lib64/cmake/Qt6QuickControls2/Qt6QuickControls2Config.cmake

Albeit issue could be different files.

Not sure what may have happened unless you still have the (current) build.log for qtdeclarative (perhaps that bug where portage misorders again?), but try to reinstall it:

    emerge -1 qtdeclarative:6

Possible that other Qt packages may have been affected, so may want to emerge -1 $(qlist -I dev-qt/:6) to be safe after.

Maybe I should add a simple guard to qtdeclarative to ensure it doesn't install a broken package, if you can confirm that e.g. libQt6Qml.so.6 was missing I could check that file in the ebuild.
Comment 3 brankob 2024-10-03 02:30:37 UTC
I'm missing the:
/usr/lib64/cmake/Qt6QuickControls2/Qt6QuickControls2Config.cmake

I will reemerge both qtdeclarative and then dev-qt/*:6 and report back.
Comment 4 Ionen Wolkens gentoo-dev 2024-10-03 02:49:57 UTC
(In reply to brankob from comment #3)
> I'm missing the:
> /usr/lib64/cmake/Qt6QuickControls2/Qt6QuickControls2Config.cmake
And others are there? Hm, wonder how that happened.
Comment 5 Ionen Wolkens gentoo-dev 2024-10-03 02:52:56 UTC
(In reply to Ionen Wolkens from comment #4)
> (In reply to brankob from comment #3)
> > I'm missing the:
> > /usr/lib64/cmake/Qt6QuickControls2/Qt6QuickControls2Config.cmake
> And others are there? Hm, wonder how that happened.
At a glance, maybe it failed to detect qtshadertools-6.7.3?
Comment 6 Ionen Wolkens gentoo-dev 2024-10-03 03:37:09 UTC
(In reply to Ionen Wolkens from comment #5)
> (In reply to Ionen Wolkens from comment #4)
> > (In reply to brankob from comment #3)
> > > I'm missing the:
> > > /usr/lib64/cmake/Qt6QuickControls2/Qt6QuickControls2Config.cmake
> > And others are there? Hm, wonder how that happened.
> At a glance, maybe it failed to detect qtshadertools-6.7.3?
Actually, think I remember this happening before w/ qtshadertools and portage ordering (aka it updated qtdeclarative *before* qtshadertools despite BDEPEND="~qtshadertools-${PV}:6" and then qtdeclarative ignores that and installs only partially, but I cannot find the other bug anymore (it was likely reported against another package than qtdeclarative). Believe another report had been only on IRC too.

I'll put the recent perl one in see-also given I think it's related -- but there's probably a better bug for it.

Either way, I'll add a check to abort if QtQuickControls2 is missing.

CC'ing dev-portage@ albeit there's not much to go by here given this is "after the event" and can't see the ordering nor request debug info. Can't even be sure it's really what happened either.
Comment 7 Larry the Git Cow gentoo-dev 2024-10-03 03:45:01 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=398ed013b2696972380ff682624ab1828bd68f0e

commit 398ed013b2696972380ff682624ab1828bd68f0e
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-10-03 03:12:10 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-10-03 03:44:43 +0000

    dev-qt/qtdeclarative: guard against incomplete installs (qt6)
    
    The guard can be tested by doing:
      emerge -C qtshadertools:6
      emerge -O qtdeclarative:6
    Then qtdeclarative will ignore the missing dep and try to install
    without QtQuickControls2 (for one), and guard should stop it.
    
    Bit wasteful, but revbump to ensure everyone has a working copy.
    fwiw skipping 6.7.2 given afaik issue only happen on upgrades
    and 6.7.2 is old and kind of a well established install by now.
    
    Bug: https://bugs.gentoo.org/940675
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 ...larative-6.7.3.ebuild => qtdeclarative-6.7.3-r1.ebuild} | 14 ++++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-6.7.9999.ebuild         | 14 ++++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-6.8.9999.ebuild         | 14 ++++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild           | 14 ++++++++++++++
 4 files changed, 56 insertions(+)
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-10-03 03:47:17 UTC
All I can add atm is that there's an env I think I still have where I need to try reduce a testcase out of it for Perl, but it could easily be the same bug.
Comment 9 brankob 2024-10-03 21:43:53 UTC
I've had to reemerge everything dev-qt/:6 to get it to work.
Reemerging just qtdeclarative didn't solve the issue.

I've had to do it in two passes.
In the first pass, I've reemerged everything except qtwebengine, and in the second pass I've reemerged qtwebengine itself.
Comment 10 Ionen Wolkens gentoo-dev 2024-10-03 21:54:03 UTC
Good to hear it works now still, root cause (whatever it is) is still unsolved but hopefully if it happens again qtdeclarative will be stopped from installing and won't have to worry about it affecting other packages now.

Will leave this open until we can at least think it's been solved,