Summary: | */* revdeps with BDEPEND=dev-qt/qthelp are queued to update beforehand, then broken by qhelpgenerator: "Cannot mix incompatible Qt library (5.15.3) with this library (5.15.4)" (e.g. KF5Libkleo.qch not found) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jakov Smolić <jsmolic> |
Component: | Current packages | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | esigra, flow, john_r_graham, kde, pefoley2, qt, sam, spalmroos |
Priority: | Normal | Keywords: | InOverlay |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/gentoo/kde/pull/907 https://bugs.gentoo.org/show_bug.cgi?id=918873 |
||
Whiteboard: | Needs >=portage-3.0.49 | ||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 689644 | ||
Attachments: | build log |
List of packages I had similar failures with: =kde-apps/kmime-21.12.3 =kde-apps/akonadi-contacts-21.12.3 =kde-apps/akonadi-mime-21.12.3 =kde-apps/kcalutils-21.12.3 =kde-apps/ksmtp-21.12.3 =kde-apps/kmailtransport-21.12.3 =kde-apps/akonadi-notes-21.12.3 =kde-apps/kldap-21.12.3-r1 =kde-apps/calendarsupport-21.12.3 Portage 3.0.30 (python 3.9.12-final-0, default/linux/arm64/17.0/systemd, gcc-11.2.1, glibc-2.35-r1, 5.15.11-gentoo-dist aarch64) ================================================================= System uname: Linux-5.15.11-gentoo-dist-aarch64-with-glibc2.35 KiB Mem: 32813516 total, 17295448 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sun, 03 Apr 2022 19:04:41 +0000 sh bash 5.1_p16 ld GNU ld (Gentoo 2.38 p3) 2.38 app-misc/pax-utils: 1.3.3::gentoo app-shells/bash: 5.1_p16::gentoo dev-java/java-config: 2.3.1::gentoo dev-lang/perl: 5.34.1::gentoo dev-lang/python: 2.7.18_p15::gentoo, 3.9.12::gentoo, 3.10.4::gentoo dev-lang/rust: 1.59.0::gentoo dev-util/cmake: 3.23.0::gentoo dev-util/meson: 0.61.4-r2::gentoo sys-apps/baselayout: 2.8::gentoo sys-apps/sandbox: 2.29::gentoo sys-apps/systemd: 250.4-r1::gentoo sys-devel/autoconf: 2.71-r1::gentoo sys-devel/automake: 1.16.5::gentoo sys-devel/binutils: 2.38-r1::gentoo sys-devel/binutils-config: 5.4.1::gentoo sys-devel/gcc: 11.2.1_p20220115::gentoo sys-devel/gcc-config: 2.5-r1::gentoo sys-devel/libtool: 2.4.7::gentoo sys-devel/llvm: 13.0.1::gentoo, 14.0.0::gentoo sys-devel/make: 4.3::gentoo sys-kernel/linux-headers: 5.17::gentoo (virtual/os-headers) sys-libs/glibc: 2.35-r1::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-metamanifest: yes sync-rsync-verify-max-age: 24 sync-rsync-verify-jobs: 1 sync-rsync-extra-opts: ACCEPT_KEYWORDS="arm64 ~arm64" ACCEPT_LICENSE="* @FREE" CBUILD="aarch64-unknown-linux-gnu" CFLAGS="-O2 -pipe" CHOST="aarch64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--jobs=8" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="C.UTF8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j8" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="X acl alsa arm64 bzip2 cli crypt dri fortran gdbm iconv ipv6 libglvnd libtirpc ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl systemd udev unicode xattr zlib" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="fbdev dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS Hm, trying with kde-apps/kldap I couldn't reproduce it, and also haven't seen any such reports otherwise yet.
> # USE=doc emerge -1vqa kldap
>
> [ebuild N ] media-gfx/graphviz-2.49.0 USE="X cairo doc nls pdf python qt5 svg webp -devil -examples -gtk -gts -guile -java -lasi -lefty -perl -postscript -ruby -tcl" PYTHON_SINGLE_TARGET="python3_9 -python3_8 -python3_10"
> [ebuild N ] app-doc/doxygen-1.9.3 USE="doc dot qt5 -clang -debug -doxysearch (-sqlite)"
> [ebuild N ] dev-qt/qt-docs-5.15.2_p202011130614 USE="3d assistant bluetooth concurrent dbus declarative designer gamepad graphicaleffects gui help html imageformats linguist location multimedia network opengl positioning printsupport qch qdoc quickcontrols quickcontrols2 scxml sensors serialbus serialport speech sql svg test wayland webchannel webengine websockets webview widgets x11extras xml xmlpatterns -charts -datavis -networkauth -script -timeline -virtualkeyboard"
> [ebuild U ] kde-apps/kldap-21.12.3-r1 [21.12.3] USE="doc* handbook -debug -test"
>
> Would you like to merge these packages? [Yes/No]
> >>> Verifying ebuild manifests
> >>> Emerging (1 of 4) media-gfx/graphviz-2.49.0::gentoo
> >>> Installing (1 of 4) media-gfx/graphviz-2.49.0::gentoo
> >>> Emerging (2 of 4) app-doc/doxygen-1.9.3::gentoo
> >>> Installing (2 of 4) app-doc/doxygen-1.9.3::gentoo
> >>> Emerging (3 of 4) dev-qt/qt-docs-5.15.2_p202011130614::gentoo
> >>> Installing (3 of 4) dev-qt/qt-docs-5.15.2_p202011130614::gentoo
> >>> Emerging (4 of 4) kde-apps/kldap-21.12.3-r1::gentoo
> >>> Installing (4 of 4) kde-apps/kldap-21.12.3-r1::gentoo
> >>> Jobs: 4 of 4 complete Load avg: 2.11, 2.70, 2.88
And successfully installs:
/usr/share/qt5-doc
/usr/share/qt5-doc/KF5LDap.qch
/usr/share/qt5-doc/KF5LDap.tags
USE="-* -qch html" on dev-qt/qt-docs didn't trigger it either. No problem with USE="-*" app-doc/doxygen either. Please re-open when it happens again... I had this issue too. I copied the old .qch file from the already installed package to get through the build. However, after the new Qt5 packages were built in my 'emerge world' the problem seems to have fixed itself. I should add that it's been a while since I emerge world'd so I guess there were some odd backwards compatibility issue at play. In my particular case, the failure to create proper .qch files was related due to "qhelpgenerator" silently aborting during compilation of certain KDE packages. Direct execution of qhelpgenerator showed the program aborted due to "Cannot mix incompatible Qt library (5.15.3) with this library (5.15.4)". The ultimate reason was that during my last "emerge -uv @world" not all dev-qt libraries where updated from version 5.15.3 to 5.15.4. A fact that was confirmed after a quick look at /var/db/pkg/dev-qt. Therefore, this explains why an "emerge --sync; emerge -uv @world" should fix most of these situations. If you are unlucky and manual intervention is needed, the following command should fix it (along with many other silent KDE programs coredumps): emerge --sync && emerge -1uv $(find /var/db/pkg/dev-qt -maxdepth 1 -type d | grep -v qt-docs | cut -d/ -f6- | cut -d- -f1) && emerge -uv @world && emerge @preserved-rebuild (In reply to Ivan Lloro from comment #8) > In my particular case, the failure to create proper .qch files was related > due to "qhelpgenerator" silently aborting during compilation of certain KDE > packages. Direct execution of qhelpgenerator showed the program aborted due > to "Cannot mix incompatible Qt library (5.15.3) with this library (5.15.4)". Now that is very interesting. You don't necessarily have a list of installed Qt packages with versions at that time it happened? lddtree of qhelpgenerator yields: libQt5Widgets.so.5 (via libQt5Help.so.5) libQt5Gui.so.5 libQt5Sql.so.5 libQt5Core.so.5 ...all of which are covered by the DEPEND=RDEPEND list of dev-qt/qthelp. Packages providing USE=doc via ecm.eclass' ECM_QTHELP=true meta variable in turn make sure they depend on dev-qt/qthelp, however do not insist on a particular version of it. My guess of what happens: 1) qthelp-5.15.4 gets slated for rebuild on qtcore-5.15.4 upgrade b/c of slot op 2) a couple of Qt revdeps like kde-apps/* are in the queue for the same reason 3) all the while dev-qt/qtgui or qtsql or qtwidgets are still at 5.15.3 4) leaving qhelpgenerator defunct for correctly building (2) with USE=doc Probably not a complete list (as I was upgrading packages while troubleshooting the problem) but the problem was still in place when the following packages were at 5.15.3 (the others were already at version 5.15.4): designer-5.15.3 linguist-tools-5.15.3 qdbusviewer-5.15.3 qtbluetooth-5.15.3 qtcharts-5.15.3 qtdatavis3d-5.15.3 qtdeclarative-5.15.3-r1 qtgraphicaleffects-5.15.3 qtgui-5.15.3 qthelp-5.15.3 qtimageformats-5.15.3 qtlocation-5.15.3-r1 qtmultimedia-5.15.3 qtnetwork-5.15.3 qtnetworkauth-5.15.3 qtopengl-5.15.3 qtpositioning-5.15.3 qtprintsupport-5.15.3 qtquickcontrols2-5.15.3 qtquickcontrols-5.15.3 qtscript-5.15.3 qtsensors-5.15.3 qtserialport-5.15.3 qtspeech-5.15.3 qtsvg-5.15.3 qttranslations-5.15.3 qtvirtualkeyboard-5.15.3 qtwayland-5.15.3-r1 qtwebchannel-5.15.3 qtwebengine-5.15.3_p20220406 qtwebsockets-5.15.3 qtwidgets-5.15.3 qtx11extras-5.15.3 qtxmlpatterns-5.15.3 (In reply to Andreas Sturmlechner from comment #9) > (In reply to Ivan Lloro from comment #8) > > In my particular case, the failure to create proper .qch files was related > > due to "qhelpgenerator" silently aborting during compilation of certain KDE > > packages. Direct execution of qhelpgenerator showed the program aborted due > > to "Cannot mix incompatible Qt library (5.15.3) with this library (5.15.4)". > Now that is very interesting. You don't necessarily have a list of installed > Qt packages with versions at that time it happened? > > lddtree of qhelpgenerator yields: > libQt5Widgets.so.5 (via libQt5Help.so.5) > libQt5Gui.so.5 > libQt5Sql.so.5 > libQt5Core.so.5 > > ...all of which are covered by the DEPEND=RDEPEND list of dev-qt/qthelp. > > Packages providing USE=doc via ecm.eclass' ECM_QTHELP=true meta variable in > turn make sure they depend on dev-qt/qthelp, however do not insist on a > particular version of it. > > My guess of what happens: > 1) qthelp-5.15.4 gets slated for rebuild on qtcore-5.15.4 upgrade b/c of > slot op > 2) a couple of Qt revdeps like kde-apps/* are in the queue for the same > reason > 3) all the while dev-qt/qtgui or qtsql or qtwidgets are still at 5.15.3 > 4) leaving qhelpgenerator defunct for correctly building (2) with USE=doc My guess is that the portage repository was not fully updated, yet, when I did the routine "emerge --sync && emerge -DuNavt @world" and only some of the Qt5 libraries got updated to version 5.15.4. (In reply to Ivan Lloro from comment #10) > Probably not a complete list (as I was upgrading packages while > troubleshooting the problem) but the problem was still in place when the > following packages were at 5.15.3 (the others were already at version > 5.15.4): > designer-5.15.3 > linguist-tools-5.15.3 > qdbusviewer-5.15.3 > qtbluetooth-5.15.3 > qtcharts-5.15.3 > qtdatavis3d-5.15.3 > qtdeclarative-5.15.3-r1 > qtgraphicaleffects-5.15.3 > qtgui-5.15.3 > qthelp-5.15.3 > qtimageformats-5.15.3 > qtlocation-5.15.3-r1 > qtmultimedia-5.15.3 > qtnetwork-5.15.3 > qtnetworkauth-5.15.3 > qtopengl-5.15.3 > qtpositioning-5.15.3 > qtprintsupport-5.15.3 > qtquickcontrols2-5.15.3 > qtquickcontrols-5.15.3 > qtscript-5.15.3 > qtsensors-5.15.3 > qtserialport-5.15.3 > qtspeech-5.15.3 > qtsvg-5.15.3 > qttranslations-5.15.3 > qtvirtualkeyboard-5.15.3 > qtwayland-5.15.3-r1 > qtwebchannel-5.15.3 > qtwebengine-5.15.3_p20220406 > qtwebsockets-5.15.3 > qtwidgets-5.15.3 > qtx11extras-5.15.3 > qtxmlpatterns-5.15.3 > > > > > (In reply to Andreas Sturmlechner from comment #9) > > (In reply to Ivan Lloro from comment #8) > > > In my particular case, the failure to create proper .qch files was related > > > due to "qhelpgenerator" silently aborting during compilation of certain KDE > > > packages. Direct execution of qhelpgenerator showed the program aborted due > > > to "Cannot mix incompatible Qt library (5.15.3) with this library (5.15.4)". > > Now that is very interesting. You don't necessarily have a list of installed > > Qt packages with versions at that time it happened? > > > > lddtree of qhelpgenerator yields: > > libQt5Widgets.so.5 (via libQt5Help.so.5) > > libQt5Gui.so.5 > > libQt5Sql.so.5 > > libQt5Core.so.5 > > > > ...all of which are covered by the DEPEND=RDEPEND list of dev-qt/qthelp. > > > > Packages providing USE=doc via ecm.eclass' ECM_QTHELP=true meta variable in > > turn make sure they depend on dev-qt/qthelp, however do not insist on a > > particular version of it. > > > > My guess of what happens: > > 1) qthelp-5.15.4 gets slated for rebuild on qtcore-5.15.4 upgrade b/c of > > slot op > > 2) a couple of Qt revdeps like kde-apps/* are in the queue for the same > > reason > > 3) all the while dev-qt/qtgui or qtsql or qtwidgets are still at 5.15.3 > > 4) leaving qhelpgenerator defunct for correctly building (2) with USE=doc (In reply to Ivan Lloro from comment #11) > My guess is that the portage repository was not fully updated, yet, when I > did the routine "emerge --sync && emerge -DuNavt @world" and only some of > the Qt5 libraries got updated to version 5.15.4. > > No, they get pushed and stabled at the same time (separate occasions). Invalid dependencies are forbidden by our CI too. According to the logs what happened was that, during a routine nightly upgrade, only a few dev-qt packages had been updated to version 5.15.4 when the emerge process failed due to a completely unrelated net-libs/libgadu compilation failure. This created a situation where libQt5Core.so.5 and libQt5Sql.so.5 were at version 5.15.4 while libQt5Widgets.so.5 and libQt5Gui.so.5 remained at 5.15.3. In such a situation qhelpgenerator coredumps by default rendering the compilation of Qt5 dependent packages with enabled use flag "doc" to fail as .qch files are not created. From /var/log/emerge.log: 1654989801: *** emerge --verbose-conflicts --newuse --tree --update --ask --backtrack=11 --changed-deps=y --deep --keep-going --with-bdeps=y --regex-search-auto=y --verbose @world [-- COMPILING STUFF --] 1654996474: >>> emerge (41 of 163) net-libs/libgadu-1.12.2-r1 to / 1654996474: === (41 of 163) Cleaning (net-libs/libgadu-1.12.2-r1::/usr/portage/net-libs/libgadu/libgadu-1.12.2-r1.ebuild) 1654996510: *** Finished. Cleaning up... 1654996510: *** exiting unsuccessfully with status '1'. 1654996518: *** terminating. where [-- COMPILING STUFF --] properly formatted by "genlop -l" is: Sun Jun 12 01:16:35 2022 >>> dev-qt/qtwebengine-5.15.3_p20220406 Sun Jun 12 01:22:14 2022 >>> dev-lang/spidermonkey-91.9.1 Sun Jun 12 01:49:42 2022 >>> dev-util/boost-build-1.79.0 Sun Jun 12 01:50:13 2022 >>> app-text/libnumbertext-1.0.10 Sun Jun 12 01:50:33 2022 >>> dev-java/openjdk-bin-8.332_p09 Sun Jun 12 01:51:35 2022 >>> dev-java/openjdk-bin-11.0.15_p10 Sun Jun 12 01:53:09 2022 >>> dev-python/more-itertools-8.13.0 Sun Jun 12 01:53:34 2022 >>> dev-python/certifi-3021.3.16-r2 Sun Jun 12 01:54:11 2022 >>> dev-python/Babel-2.10.1 Sun Jun 12 01:54:38 2022 >>> dev-python/six-1.16.0-r1 Sun Jun 12 01:55:05 2022 >>> dev-python/attrs-21.4.0-r1 Sun Jun 12 01:55:34 2022 >>> dev-python/nose-1.3.7_p20211111_p1-r1 Sun Jun 12 01:55:59 2022 >>> dev-python/pluggy-1.0.0-r2 Sun Jun 12 01:56:25 2022 >>> dev-python/jaraco-classes-3.2.1-r1 Sun Jun 12 01:57:53 2022 >>> dev-python/toml-0.10.2-r1 Sun Jun 12 01:58:17 2022 >>> dev-python/sphinx-bootstrap-theme-0.8.1 Sun Jun 12 02:11:29 2022 >>> gui-libs/egl-wayland-1.1.9_p20211123 Sun Jun 12 02:11:54 2022 >>> app-i18n/opencc-1.1.3 Sun Jun 12 02:12:31 2022 >>> sys-libs/zlib-1.2.12-r2 Sun Jun 12 02:13:23 2022 >>> x11-libs/pango-1.50.7 Sun Jun 12 02:14:03 2022 >>> net-libs/libpcap-1.10.1-r1 Sun Jun 12 02:17:15 2022 >>> dev-lang/perl-5.34.1-r3 Sun Jun 12 02:20:52 2022 >>> net-libs/gnutls-3.7.6 Sun Jun 12 02:25:46 2022 >>> gnome-base/librsvg-2.54.3 Sun Jun 12 02:29:16 2022 >>> net-nds/openldap-2.4.58-r2 Sun Jun 12 02:30:03 2022 >>> net-libs/libmicrohttpd-0.9.73 Sun Jun 12 02:32:00 2022 >>> net-misc/curl-7.83.1 Sun Jun 12 02:36:41 2022 >>> sys-apps/systemd-250.6 Sun Jun 12 02:37:42 2022 >>> app-crypt/gnupg-2.2.34-r1 Sun Jun 12 02:41:36 2022 >>> dev-qt/qtcore-5.15.4-r2 Sun Jun 12 02:43:17 2022 >>> net-print/cups-2.3.3_p2-r3 Sun Jun 12 02:45:37 2022 >>> dev-vcs/git-2.35.1 Sun Jun 12 02:52:42 2022 >>> x11-libs/gtk+-3.24.34 Sun Jun 12 02:53:53 2022 >>> dev-qt/qtdbus-5.15.4 Sun Jun 12 02:54:48 2022 >>> dev-qt/qtxml-5.15.4 Sun Jun 12 02:56:12 2022 >>> app-crypt/gpgme-1.17.1-r1 Sun Jun 12 02:57:26 2022 >>> dev-qt/qtconcurrent-5.15.4 Sun Jun 12 03:00:35 2022 >>> app-editors/emacs-28.1 Sun Jun 12 03:01:09 2022 >>> media-libs/libass-0.15.2 Sun Jun 12 03:01:23 2022 >>> virtual/perl-Compress-Raw-Zlib-2.103.0-r1 Sun Jun 12 03:02:20 2022 >>> dev-qt/qttest-5.15.4 Sun Jun 12 03:02:47 2022 >>> dev-libs/libzip-1.8.0-r1 Sun Jun 12 03:04:57 2022 >>> sci-libs/proj-8.2.1 Sun Jun 12 03:06:07 2022 >>> net-misc/wget-1.21.3 Sun Jun 12 03:07:18 2022 >>> dev-db/freetds-1.2.18 Sun Jun 12 03:08:21 2022 >>> dev-qt/qtsql-5.15.4 Sun Jun 12 03:08:48 2022 >>> net-libs/libvncserver-0.9.13 Sun Jun 12 03:09:08 2022 >>> dev-qt/qdbus-5.15.4 Sun Jun 12 03:09:27 2022 >>> dev-qt/qtpaths-5.15.4 Sun Jun 12 03:10:12 2022 >>> app-text/mupdf-1.19.1 Sun Jun 12 03:11:22 2022 >>> app-text/qpdf-10.6.3 Sun Jun 12 03:12:52 2022 >>> dev-db/spatialite-5.0.1-r1 Sun Jun 12 03:13:25 2022 >>> sci-libs/libgeotiff-1.7.0 Sun Jun 12 03:13:41 2022 >>> virtual/perl-Compress-Raw-Bzip2-2.103.0-r2 Sun Jun 12 03:13:56 2022 >>> virtual/perl-IO-Compress-2.103.0-r1 Sun Jun 12 03:14:34 2022 >>> dev-qt/qtwaylandscanner-5.15.4 Ideas? Revdeps can't do anything to avoid this, so Qt needs changing. 1) Use subslots to prioritise qthelp for rebuild: DEPEND=" =dev-qt/qtcore-${QT5_PV}*:5= - =dev-qt/qtgui-${QT5_PV}* - =dev-qt/qtsql-${QT5_PV}*[sqlite] - =dev-qt/qtwidgets-${QT5_PV}* + =dev-qt/qtgui-${QT5_PV}*:5= + =dev-qt/qtsql-${QT5_PV}*:5=[sqlite] + =dev-qt/qtwidgets-${QT5_PV}*:5= " Downside: Can we be really sure portage still won't queue some dev-qt/qthelp revdep before it? 2) Use blockers to ensure qhelpgenerator can't be in an inconsistent state. However, these blockers must be in qtgui, qtsql, qtwidgets as they are parts of the split qtbase tarball: -RDEPEND="${DEPEND}" +RDEPEND="${DEPEND} + !<dev-qt/qthelp-${QT5_PV}:5 +" Downside: Portage may choke on Qt upgrades more often. (In reply to Andreas Sturmlechner from comment #14) > Ideas? Revdeps can't do anything to avoid this, so Qt needs changing. > > 1) Use subslots to prioritise qthelp for rebuild: This is my preference. I think the UX is likely to be a bit better than blockers and while subslots are often a pain, we tend to handle them a bit btter than blockers in some cases. (In reply to Sam James from comment #15) > (In reply to Andreas Sturmlechner from comment #14) > > Ideas? Revdeps can't do anything to avoid this, so Qt needs changing. > > > > 1) Use subslots to prioritise qthelp for rebuild: > > This is my preference. I think the UX is likely to be a bit better than > blockers and while subslots are often a pain, we tend to handle them a bit > btter than blockers in some cases. It only works on 2 of 3 packages though. qtwidgets does not have a fine-grained subslot. This keeps happening from time to time and I maintain that it's a portage bug. 1/ the KDE package in question (kldap?) depends on qthelp:5 (any version) 2/ qthelp depends on =dev-qt/qtcore-${QT5_PV}*:5= 3/ qtcore-5.15.3 and qthelp-5.15.3 are installed (all is fine) 4/ qtcore is upgraded to 5.15.4 5/ now the deps of the installed qthelp are no longer satisfied and the package should be considered temporarily "broken" until it's upgraded 6/ therefore, kldap deps are not satisfied either (because qthelp is broken) 7/ as usual, a package should not be emerged before its deps are satisfied Am I missing something? why is portage not behaving as above? I understand that in the general case there may be cycles but I don't think it's the case here. Yes it's a version of bug 787032. Depends on/Blocks seem logically reversed on bug 689644 (In reply to Andreas Sturmlechner from comment #14) > 1) Use subslots to prioritise qthelp for rebuild: > > DEPEND=" > =dev-qt/qtcore-${QT5_PV}*:5= > - =dev-qt/qtgui-${QT5_PV}* > - =dev-qt/qtsql-${QT5_PV}*[sqlite] > - =dev-qt/qtwidgets-${QT5_PV}* > + =dev-qt/qtgui-${QT5_PV}*:5= > + =dev-qt/qtsql-${QT5_PV}*:5=[sqlite] > + =dev-qt/qtwidgets-${QT5_PV}*:5= > " > > Downside: Can we be really sure portage still won't queue some dev-qt/qthelp > revdep before it? I don't see how this helps. It's the dep on qtcore that's broken. > 2) Use blockers to ensure qhelpgenerator can't be in an inconsistent state. > However, these blockers must be in qtgui, qtsql, qtwidgets as they are parts > of the split qtbase tarball: > > -RDEPEND="${DEPEND}" > +RDEPEND="${DEPEND} > + !<dev-qt/qthelp-${QT5_PV}:5 > +" > > Downside: Portage may choke on Qt upgrades more often. I don't like blockers, in fact they could make things worse in other upgrade scenarios. Also, like above, the blocker should go in qtcore (at least). There doesn't seem to be a reasonable workaround, so I vote for option 3: do nothing (in dev-qt/ ebuilds). My other option then is to drop IUSE=doc wherever it depends on qhelpgenerator (.qch). In the case given by original reporter, kde-apps/kldap does not even have a slot op on a dev-qt/* package, which makes it even more puzzling why emerge got to it before. (In reply to Andreas Sturmlechner from comment #9) > lddtree of qhelpgenerator yields: > libQt5Widgets.so.5 (via libQt5Help.so.5) > libQt5Gui.so.5 > libQt5Sql.so.5 > libQt5Core.so.5 > > ...all of which are covered by the DEPEND=RDEPEND list of dev-qt/qthelp. Additional information for portage team: All involved Qt packages (qtgui, qtsql, qtwidgets, qthelp) should be triggered for rebuild/upgrade by subslot update of dev-qt/qtcore, but apparently not necessarily soon enough. *** Bug 852794 has been marked as a duplicate of this bug. *** Here's another option for us (ofc only applicable to users of ecm.eclass): diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index 3cc586b82d82..83a05264a124 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -224,7 +224,22 @@ case ${ECM_QTHELP} in COMMONDEPEND+=" doc? ( dev-qt/qt-docs:${KFSLOT} )" BDEPEND+=" doc? ( >=app-doc/doxygen-1.8.13-r1 - dev-qt/qthelp:${KFSLOT} + || ( + ( + =dev-qt/qtcore-5.15.4*:5 + =dev-qt/qtgui-5.15.4*:5 + =dev-qt/qthelp-5.15.4*:5 + =dev-qt/qtsql-5.15.4*:5 + =dev-qt/qtwidgets-5.15.4*:5 + ) + ( + =dev-qt/qtcore-5.15.5*:5 + =dev-qt/qtgui-5.15.5*:5 + =dev-qt/qthelp-5.15.5*:5 + =dev-qt/qtsql-5.15.5*:5 + =dev-qt/qtwidgets-5.15.5*:5 + ) + ) )" ;; false) ;; It means ecm.eclass will have to be touched on every single Qt version bump. (In reply to Andreas Sturmlechner from comment #26) > Here's another option for us (ofc only applicable to users of ecm.eclass): That's ugly too, but if the burden of updating ecm.eclass every time is acceptable to you, then I guess it's fine with me as well. IMO this is slightly better than inflicting the pain of the blockers on all our users. And just to clarify, I'd also be fine with solution 1 (subslot deps) *if* it's shown to improve the situation. I don't see how it can make any difference given that the qtcore dep is the problem, but if for some strange reasons the subslots end up influencing portage's scheduling, then I'm ok with trying that approach. *** Bug 858092 has been marked as a duplicate of this bug. *** The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/kde.git/commit/?id=1ee2c73aa8b5e0f2d951d3687b23824052673042 commit 1ee2c73aa8b5e0f2d951d3687b23824052673042 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2022-06-21 10:25:05 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2022-09-14 14:55:32 +0000 ecm.eclass: Workaround Portage depgraph shortcomings from revdeps' side Bug: https://bugs.gentoo.org/836726 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> eclass/ecm.eclass | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) Should be picked to ::gentoo before Qt-5.15.6 version bump. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=98f5475d46518fa7da5ece4bceb1189283eba4f8 commit 98f5475d46518fa7da5ece4bceb1189283eba4f8 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2022-06-21 10:25:05 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2022-11-29 20:50:16 +0000 ecm.eclass: Workaround Portage depgraph shortcomings from revdeps' side Bug: https://bugs.gentoo.org/836726 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> eclass/ecm.eclass | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/kde.git/commit/?id=2d2bdb49ec5b099004dbd939e2709b198a678d84 commit 2d2bdb49ec5b099004dbd939e2709b198a678d84 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2023-09-09 11:09:20 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2023-09-09 16:39:26 +0000 ecm.eclass: Drop supposedly obsolete dev-qt/qthelp crutch for Portage Bug: https://bugs.gentoo.org/836726 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> eclass/ecm.eclass | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (In reply to Larry the Git Cow from comment #32) > The bug has been referenced in the following commit(s): > > https://gitweb.gentoo.org/proj/kde.git/commit/ > ?id=2d2bdb49ec5b099004dbd939e2709b198a678d84 > [...] > ecm.eclass: Drop supposedly obsolete dev-qt/qthelp crutch for Portage > https://bugs.gentoo.org/689644#c9 ftr is the likely fix The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5ed69109c7582c859b5cb956cd673c65b9398c5 commit a5ed69109c7582c859b5cb956cd673c65b9398c5 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2023-09-09 11:09:20 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2023-10-08 15:47:10 +0000 ecm.eclass: Drop supposedly obsolete dev-qt/qthelp crutch for Portage Reverts commit 98f5475d46518fa7da5ece4bceb1189283eba4f8 Closes: https://bugs.gentoo.org/836726 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> eclass/ecm.eclass | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) |
Created attachment 768644 [details] build log [3/4] Install the project...[K -- Install configuration: "RelWithDebInfo" -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/cmake/KF5Ldap/KF5LdapConfig.cmake -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/cmake/KF5Ldap/KF5LdapConfigVersion.cmake -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/cmake/KF5Ldap/KF5LdapTargets.cmake -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/cmake/KF5Ldap/KF5LdapTargets-relwithdebinfo.cmake -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/kldap_version.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/libKF5Ldap.so.5.19.3 -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/libKF5Ldap.so.5 -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/lib64/libKF5Ldap.so -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/kldap_export.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ber.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapconnection.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapcontrol.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapdn.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapobject.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapoperation.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapsearch.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapserver.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapdefs.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapurl.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldif.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapconfigwidget.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapclientsearchconfig.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapclientsearch.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/addhostdialog.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapclient.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapconfigurewidget.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapclientsearchconfigwriteconfigjob.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapclientsearchconfigreadconfigjob.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/kldap/ldapsearchclientreadconfigserverjob.h -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/Ber -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapConnection -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapControl -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapDN -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapObject -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapOperation -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapSearch -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapServer -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapDefs -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapUrl -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/Ldif -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapConfigWidget -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapClientSearchConfig -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapClientSearch -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/AddHostDialog -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapClient -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapConfigureWidget -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapClientSearchConfigWriteConfigJob -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapClientSearchConfigReadConfigJob -- Installing: /var/tmp/portage/kde-apps/kldap-21.12.3-r1/image/usr/include/KF5/KLDAP/KLDAP/LdapSearchClientReadConfigServerJob [31mCMake Error at src/cmake_install.cmake:150 (file): file INSTALL cannot find "/var/tmp/portage/kde-apps/kldap-21.12.3-r1/work/kldap-21.12.3_build/src/KF5LDap.qch": No such file or directory. Call Stack (most recent call first): cmake_install.cmake:77 (include) [0m [31mFAILED: [0mCMakeFiles/install.util cd /var/tmp/portage/kde-apps/kldap-21.12.3-r1/work/kldap-21.12.3_build && /usr/bin/cmake -P cmake_install.cmake ninja: build stopped: subcommand failed. * ERROR: kde-apps/kldap-21.12.3-r1::gentoo failed (install phase): * died running ninja install * * Call stack: * ebuild.sh, line 127: Called src_install * environment, line 2449: Called ecm_src_install * environment, line 1447: Called cmake_src_install * environment, line 1105: Called die * The specific snippet of code: * DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" || die "died running ${CMAKE_MAKEFILE_GENERATOR} install"; * * If you need support, post the output of `emerge --info '=kde-apps/kldap-21.12.3-r1::gentoo'`, * the complete build log and the output of `emerge -pqv '=kde-apps/kldap-21.12.3-r1::gentoo'`. * The complete build log is located at '/var/tmp/portage/kde-apps/kldap-21.12.3-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/kde-apps/kldap-21.12.3-r1/temp/environment'. * Working directory: '/var/tmp/portage/kde-apps/kldap-21.12.3-r1/work/kldap-21.12.3_build' * S: '/var/tmp/portage/kde-apps/kldap-21.12.3-r1/work/kldap-21.12.3'