Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
qtwebengine recompiling again -- 30,000+ compilation modules
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
tckosvic
Tux's lil' helper
Tux's lil' helper


Joined: 18 Apr 2023
Posts: 138

PostPosted: Mon Jul 15, 2024 1:52 pm    Post subject: qtwebengine recompiling again -- 30,000+ compilation modules Reply with quote

Compiling qtwebengine is a major pain to compile (8-10 hours). I am now in the middle of compiling it but I have no idea of what rebuild package caused the rebuild of qtwebengine. I have read the wiki about stopping it's compilation that even includes deleting packages that use it if they are not essential to you.

I'd like to get a list of the packages I have installed that would require qtwebengine to recompile. I am not conversant enough with emerge to know how to do this.

I'd also like to get a list of all packages in the repo that use it so I can avoid installing them.

thanks for any instructions. tom kosvic
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2851

PostPosted: Mon Jul 15, 2024 2:35 pm    Post subject: Reply with quote

It was most likely the icu bump, and it doesn't update all that often (likewise qtwebengine only updates every 1-2 months, qtwebengine-6.7.3 is currently due for August 30)

But if really wanted to, you could do USE=-system-icu on qtwebengine to use bundled icu to avoid needing to rebuild it on icu bumps (not that I typically test bundled icu, but it should be fine).
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22619

PostPosted: Mon Jul 15, 2024 3:06 pm    Post subject: Reply with quote

If you are set on removing qtwebengine, then emerge --ask --verbose --depclean dev-qt/qtwebengine will remove it or explain why not. Once removed, you can use /etc/portage/package.mask to forbid ever installing it again. Any package which tries will provoke an error message from Portage.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2404

PostPosted: Mon Jul 15, 2024 4:11 pm    Post subject: Reply with quote

If this is qtwebengine:5 you can use the binary packages host. Slot 6 is still not getting built as it's still testing.

When passing -v to emerge it'll tell you which packages cause rebuilds for which other packages, but to know which packages *may* cause a rebuild is neither easy nor meaningful.

Best Regards,
Georgi
Back to top
View user's profile Send private message
tckosvic
Tux's lil' helper
Tux's lil' helper


Joined: 18 Apr 2023
Posts: 138

PostPosted: Mon Jul 15, 2024 4:24 pm    Post subject: Reply with quote

I did find the below. I think this is answer to my first question as to what I have installed that uses qtwebengine.

Code:

gentooVM ~ # equery depends qtwebengine
 * These packages depend on qtwebengine:
dev-python/pyside2-5.15.14 (webengine ? =dev-qt/qtwebengine-5.15.14*:5[alsa,widgets?])
                           (webengine ? =dev-qt/qtwebengine-5.15.14*:5[pulseaudio,widgets?])
                           (webengine ? =dev-qt/qtwebengine-5.15.14*:5[alsa,widgets?])
                           (webengine ? =dev-qt/qtwebengine-5.15.14*:5[pulseaudio,widgets?])
media-gfx/freecad-0.21.2-r3 (!qt6 ? dev-qt/qtwebengine:5[widgets])
                            (dev-qt/qtwebengine:6[widgets])
                            (!qt6 ? dev-qt/qtwebengine:5[widgets])
                            (dev-qt/qtwebengine:6[widgets])
gentooVM ~ #


I do have freecad installed. Am I interpreting this right?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2404

PostPosted: Mon Jul 15, 2024 5:07 pm    Post subject: Reply with quote

Equery takes shortcuts. Some things it skips, so it's better to run emerge -pvc.

But from this output I see you can disable qtwebengine on pyside2 and qt6 and dev-qt on freecad and use qtwebengine:5 from the binhost.

Again, emerge -pvc will give you a better picture of what is actually enabled and what pulls in what. Equery deosn't, it just says it might be the case but never really checks if the use flags are actually enabled or not. You have to use it in conjunction with equery u or emerge -pv to see the actual use flags.

p.s. if you have already rebuilt qtwebengine, it's better not to touch anything until the next time you hit it. If you're lucky, it won't bother you for a long time and if you hit it again, then come ask for advise.

Best Regards,
Georgi
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9261

PostPosted: Mon Jul 15, 2024 5:16 pm    Post subject: Reply with quote

logrusx wrote:
If this is qtwebengine:5 you can use the binary packages host. Slot 6 is still not getting built as it's still testing.

Code:
$ eshowkw qtwebengine
Keywords for dev-qt/qtwebengine:
                  |                               |   u            | 
                  | a   a     p s     l r   a     |   n            | 
                  | m   r h   p p   i o i s l m m | e u s          | r
                  | d a m p p c a x a o s 3 p 6 i | a s l          | e
                  | 6 r 6 p p 6 r 8 6 n c 9 h 8 p | p e o          | p
                  | 4 m 4 a c 4 c 6 4 g v 0 a k s | i d t          | o
------------------+-------------------------------+----------------+-------
5.15.14_p20240510 | + o + o o o o ~ o o o o o o o | 8 o 5/5.15     | gentoo
------------------+-------------------------------+----------------+-------
            6.7.1 | + o + o o o o o o o o o o o o | 8 o 6/6.7.1    | gentoo
------------------+-------------------------------+----------------+-------
            6.7.2 | + o + o o o o o o o o o o o o | 8 o 6/6.7.2    | gentoo
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2404

PostPosted: Mon Jul 15, 2024 5:32 pm    Post subject: Reply with quote

That's great, thanks for letting me know!

Best Regards,
Georgi
Back to top
View user's profile Send private message
tckosvic
Tux's lil' helper
Tux's lil' helper


Joined: 18 Apr 2023
Posts: 138

PostPosted: Mon Jul 15, 2024 8:59 pm    Post subject: Reply with quote

build of qtwebengine finished. Update took over 14 hours with jopts=5 on i7 cpu. I neglected to put "time"on emerge. But at least it is over.

Just for reference I got the following as alternative for equery but results are the same.

Code:

gentooVM ~ # emerge -pvc qtwebengine

Calculating dependencies              ... done!             
  dev-qt/qtwebengine-5.15.14_p20240510 pulled in by:
    dev-python/pyside2-5.15.14 requires =dev-qt/qtwebengine-5.15.14*:5[alsa,widgets]
    media-gfx/freecad-0.21.2-r3 requires dev-qt/qtwebengine:5[widgets]


same results.

thanks for insights.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22619

PostPosted: Mon Jul 15, 2024 9:20 pm    Post subject: Reply with quote

The difference is that emerge -pvc checked the actual dependencies, so now we know you have two packages that definitely require it (before, we knew you had two packages that might require it, but not whether their active configuration required it), and we can inspect those packages for details. I see that freecad guards this behind USE=gui. pyside2 guards it behind USE=webengine. I cannot comment on whether disabling those flags on those packages would remove features you want. I suspect you probably want USE=gui on freecad though.
Back to top
View user's profile Send private message
tckosvic
Tux's lil' helper
Tux's lil' helper


Joined: 18 Apr 2023
Posts: 138

PostPosted: Mon Jul 15, 2024 10:44 pm    Post subject: Reply with quote

Now I am mystified as to what drew qtwebengine to be recompiled. Neither dev-python/pyside2-5.15.14 or media-gfx/freecad-0.21.2-r3 are in emerge info. These wewre the 2 cited by equery.
Any insights?

emerge info presented below.

Code:

(base) tom@gentooVM ~ $ emerge --info
Portage 3.0.65 (python 3.12.4-final-0, default/linux/amd64/23.0/split-usr/desktop, gcc-14, glibc-2.39-r9, 6.9.9-gentoo x86_64)
=================================================================
System uname: Linux-6.9.9-gentoo-x86_64-Intel-R-_Core-TM-_i7-5820K_CPU_@_3.30GHz-with-glibc2.39
KiB Mem:     8147596 total,   7217092 free
KiB Swap:    6537212 total,   6537212 free
Timestamp of repository gentoo: Sun, 14 Jul 2024 22:00:00 +0000
Head commit of repository gentoo: 34c756f95209de7f851823833c7536a7141f11a8
Timestamp of repository guru: Sun, 14 Jul 2024 18:03:46 +0000
Head commit of repository guru: ded9592082f212fde6a0594b8310aff02aebc67e

Timestamp of repository haskell: Fri, 12 Jul 2024 07:49:09 +0000
Head commit of repository haskell: b379138997e27d5ad7a17a3f2738ece89ddc742a

Timestamp of repository science: Fri, 12 Jul 2024 07:49:22 +0000
Head commit of repository science: 027592ce727865568e286766a408f349783604c5

sh bash 5.2_p26-r8
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26-r8::gentoo
dev-build/autoconf:        2.72-r1::gentoo
dev-build/automake:        1.17-r1::gentoo
dev-build/cmake:           3.30.0::gentoo
dev-build/libtool:         2.4.7-r4::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.5.0::gentoo
dev-java/java-config:      2.3.4::gentoo
dev-lang/perl:             5.40.0::gentoo
dev-lang/python:           3.10.14_p1-r1::gentoo, 3.11.9-r1::gentoo, 3.12.4_p2::gentoo, 3.13.0_beta3_p1::gentoo
dev-lang/rust-bin:         1.79.0::gentoo
sys-apps/baselayout:       2.15::gentoo
sys-apps/openrc:           0.54.2::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.42-r2::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           15.0.7-r3::gentoo, 17.0.6::gentoo, 18.1.8::gentoo
sys-devel/gcc:             14.1.1_p20240622::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             17.0.6::gentoo
sys-devel/llvm:            15.0.7-r3::gentoo, 17.0.6::gentoo, 18.1.8::gentoo
sys-kernel/linux-headers:  6.9::gentoo (virtual/os-headers)
sys-libs/glibc:            2.39-r9::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

haskell
    location: /var/db/repos/haskell
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/haskell.git
    masters: gentoo
    volatile: False

science
    location: /var/db/repos/science
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/science.git
    masters: gentoo
    volatile: False

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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 XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live candy config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="https://mirrors.mit.edu/gentoo-distfiles/     https://mirrors.rit.edu/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j3"
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 a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo caps cdda cdr cet chromium concurrent crypt cups custom-modes cxx dbus dri dts dvd dvdr elogind encode exif flac fortran gdbm geos gif gles2 gpm gtk gtk3 gui hdf5 iconv icu ipv6 jack jpeg json jumbo-build kf6compat lcms libnotify libtirpc lua5-4 lzma mad mmx mng mp3 mp4 mpeg multilib ncurses network nls ogg opengl openmp opus pam pango pcre pcre32 pdf pkcs11 png policykit positioning ppds printsupport proprietary-codecs pulseaudio python qml qt5 quick readline script sdl seccomp sound spell split-usr sql ssl startup-notification svg test-rust testlib tiff tools truetype udev udisks unicode upower usb vorbis vtk vulkan webchannel webengine webp widevine widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib zstd" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio 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_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 ntrip navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_12 python3_11" RUBY_TARGETS="ruby31 ruby32" VIDEO_CARDS="virtio" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

(base) tom@gentooVM ~ $
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22619

PostPosted: Mon Jul 15, 2024 11:27 pm    Post subject: Reply with quote

I like Ionen's suggestion that the icu update was what triggered a subslot rebuild on qtwebengine. Your most recent post shows basic emerge --info, but since you did not name any packages on that call, it is normal that no packages had per-package information appended to that. I think you have both pyside2 and freecad installed, and they each need qtwebengine for various things. We have not determined whether you need pyside2 and freecad installed. I took it as a given that you want them.
Back to top
View user's profile Send private message
tckosvic
Tux's lil' helper
Tux's lil' helper


Joined: 18 Apr 2023
Posts: 138

PostPosted: Tue Jul 16, 2024 2:01 am    Post subject: Reply with quote

I don't understand what icu update means.

I don't know what is meant by: "Your most recent post shows basic emerge --info, but since you did not name any packages on that call"

I have miniconda python system installed. That must bring in pyside2. I don't have any idea of what it is for.

I installed freecad to see if I can get it running on gentoo. There was an article saying it was difficult to install. It was successful. I am not currently using it but I wish to retain it.

Are there options for emerge --info that would be more instructive?

I expected to see either pyside2 or freecad in emerge --info which would provide a reason as to why qtwebengine was recompiled.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2404

PostPosted: Tue Jul 16, 2024 5:44 am    Post subject: Reply with quote

tckosvic wrote:
I don't understand what icu update means.


dev-libs/icu - it's used by a lot of packages and causes a lot of rebuilds. However I doubt this is the case. It would have triggered a massive rebuild.

tckosvic wrote:
I don't know what is meant by: "Your most recent post shows basic emerge --info, but since you did not name any packages on that call"


emerge --info package

It appends information for the package to the system information.

tckosvic wrote:
I have miniconda python system installed. That must bring in pyside2. I don't have any idea of what it is for.

I installed freecad to see if I can get it running on gentoo. There was an article saying it was difficult to install. It was successful. I am not currently using it but I wish to retain it.

Are there options for emerge --info that would be more instructive?


emerge --info package

tckosvic wrote:
I expected to see either pyside2 or freecad in emerge --info which would provide a reason as to why qtwebengine was recompiled.


Unless you instruct it by putting those on the call, it will not do so. Portage has no way of knowing which package you want info for, it must provide the information for all of them in case you didn't name at least one and still expected it to do so.

tckosvic wrote:
Now I am mystified as to what drew qtwebengine to be recompiled. Neither dev-python/pyside2-5.15.14 or media-gfx/freecad-0.21.2-r3 are in emerge info. These wewre the 2 cited by equery.
Any insights?


Unfortunately you should have looked at that when emerge output the information of the pending session. It indicates rebuilds with R and the packages causing rebuilds with r. It also reports it at the bottom of the output. That of course happens if you pass -v or --verbose.

Now there's no way of knowing.

Best Regards,
Georgi
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 214

PostPosted: Tue Jul 16, 2024 7:36 pm    Post subject: Reply with quote

There is most definitely a binpackage for qtwebengine:6:

https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64/dev-qt/qtwebengine/
https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64-v3/dev-qt/qtwebengine/
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2404

PostPosted: Tue Jul 16, 2024 8:17 pm    Post subject: Reply with quote

astrum already mentioned that. And I'm quite happy about it :)

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum