Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Desktop Environments
  • Search

QtWebEngine - compile time

Problems with GUI applications? Questions about X, KDE, Gnome, Fluxbox, etc.? Come on in. NOTE: For multimedia, go up one forum
Post Reply
Advanced search
51 posts
  • Previous
  • 1
  • 2
  • 3
  • Next
Author
Message
DarkAudit
n00b
n00b
Posts: 27
Joined: Sat Mar 27, 2021 8:00 am

  • Quote

Post by DarkAudit » Mon Oct 11, 2021 9:34 am

Something's changed in the r1 package, hasn't it? There's no other way to explain how a package that takes 12 hours or more to build on an A10-8700P laptop suddenly is taking just over an hour.
Top
asturm
Developer
Developer
Posts: 9496
Joined: Thu Apr 05, 2007 4:07 pm

  • Quote

Post by asturm » Mon Oct 11, 2021 9:47 am

It just means you have ccache enabled.
Top
DarkAudit
n00b
n00b
Posts: 27
Joined: Sat Mar 27, 2021 8:00 am

  • Quote

Post by DarkAudit » Mon Oct 11, 2021 12:37 pm

asturm wrote:It just means you have ccache enabled.
I've had ccache enabled for months, and the previous dev-qt/qtwebengine-5.15.2_p20210824 still took 17 hours to compile.
Top
asturm
Developer
Developer
Posts: 9496
Joined: Thu Apr 05, 2007 4:07 pm

  • Quote

Post by asturm » Mon Oct 11, 2021 1:07 pm

exactly.
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Mon Oct 11, 2021 3:42 pm

wrc1944 wrote:Can I avoid building qtwebengine 3 times, by building it once and then make a binary with

Code: Select all

quickpkg qtwebengine
and copy it to the other 2 installs to their /usr/portage/packages/dev-qt/ directories, and then emerge it with

Code: Select all

emerge -K qtwebengine
whenever portage wants to rebuild or update it on an @world update?
That is an unusually manual way of implementing a binhost server, but yes, that should work. The only caveat is that your binary package needs to meet all of Portage's criteria for the secondary machines: correct version, acceptable keywords, matching USE flags and subslots, etc. I expect the realistic failure modes to be that Portage shows an error message and refuses to proceed, so this should be a safe experiment even if it takes you a few tries to get right.

If I were doing this, I would use FEATURES=buildpkg on the primary instead of using quickpkg. If I were doing it much, I would consider using either an NFS mount of the packages directory from primary onto secondaries, or setting up the Portage binhost variables for use by --getbinpkg.
DarkAudit wrote:Something's changed in the r1 package, hasn't it? There's no other way to explain how a package that takes 12 hours or more to build on an A10-8700P laptop suddenly is taking just over an hour.
Quite the opposite, actually. If much had changed, ccache would have failed to get many/any cache hits, and you would have rebuilt almost everything. As it is, you got lucky that -r1 made very few changes to central files, so most of the source files were eligible to be retrieved from cache instead of being rebuilt.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Mon Oct 11, 2021 5:09 pm

I forget what -K means.
I use this method to build packages for amdfam10 on ryzen.
I compile with --buildpkgonly and on the target I extract with --usepkgonly
I also switch directories.

Of course when using a different architecture you must change march also.
I automate this with some scripts.

If you are gong to change flags and profiles, you are better off with cross-compiling.
Top
pd1986
Guru
Guru
Posts: 404
Joined: Sun Feb 19, 2012 9:38 am
Location: Paris

  • Quote

Post by pd1986 » Fri Oct 15, 2021 1:07 pm

Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Fri Oct 15, 2021 2:15 pm

pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
I leave my 2700X at -j16 I have 32G memory, no swap.
Maybe you need more memory.
Top
ulenrich
Veteran
Veteran
Posts: 1483
Joined: Sun Oct 10, 2010 9:26 pm

  • Quote

Post by ulenrich » Fri Oct 15, 2021 5:39 pm

Tony0945 wrote:
pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
I leave my 2700X at -j16 I have 32G memory, no swap.
Maybe you need more memory.
Yes, qtwebengine needs very much memory to compile: With 4gByte RAM I need another 4bB on swap and I cannot run anything else during compilation. Another malfunction could be due to bad memory at regions normally not used that much.
Top
firephoto
Veteran
Veteran
User avatar
Posts: 1612
Joined: Wed Oct 29, 2003 12:48 am
Location: +48° 5' 23.40", -119° 48' 30.00"

  • Quote

Post by firephoto » Fri Oct 15, 2021 6:18 pm

pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
If you run out of memory for it to build it will fail so by reducing the parallel builds you use less memory. Most of it would probably build at the higher -j but there are few parts that eat up the memory.

I have MAKEOPTS="-j13 -l23" for qtwebengine with 24 cores and 32G ram and tmp/portage on tmpfs up to 16G. Higher -j just had me hitting swap and I still get the same compile times. It did fail the other day but I had like 20 tabs open in firefox and some in chrome, and firefox and wine ended up building at the same time, and I wasn't paying attention to all the memory going away until it went oom when I was restarting firefox because I had been trying to fix emojis (critical things). Waited a few minutes to be able to do anything, qtwebengine failed, firefox and wine were done building. Using zswap too if it matters. If tmp wasn't on ram it wouldn't happen and it might be slower but it would also just be thrashing the ssd more than is necessary.


This is on a 5900X I upgraded from a 2700X.

Code: Select all

     Sun Oct 10 22:09:39 2021 >>> dev-qt/qtwebengine-5.15.2_p20210824-r1
       merge time: 43 minutes and 50 seconds.
[url=irc://irc.freenode.org/gentoo-kde]#gentoo-kde on freenode[/url]
Top
wrc1944
Advocate
Advocate
Posts: 3467
Joined: Thu Aug 15, 2002 10:33 am
Location: Gainesville, Florida

  • Quote

Post by wrc1944 » Fri Oct 15, 2021 7:43 pm

IIRC, I've had it fail on huge long compiles if I forget to make sure /var/tmp/portage wasn't full of failed packages clutter, which can amount to many Gb's.

This would only happen if the root partition was small, and tends to run out of disk space, which is true on 2 of my Gentoo installs.

I know it's ridiculous, but I still have 2 gentoos, and 6-7 other distros I fool with, plus 2 100GB data partitions on one 4+ years old 500GB hard disk. Guess my luck is running out, and I better clean it all up and get a new and bigger disk, and/or re-allocate data and partition arrangements to reflect a little sanity. :roll:
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.41-r2, gcc-15.1.0
kernel-6.15.6 USE=experimental python3.13.3
Top
Fitzcarraldo
Advocate
Advocate
User avatar
Posts: 2057
Joined: Sat Aug 30, 2008 9:49 pm
Location: United Kingdom
Contact:
Contact Fitzcarraldo
Website

  • Quote

Post by Fitzcarraldo » Fri Oct 15, 2021 8:26 pm

wrc1944,

You could automatically empty /var/tmp/portage/ when it gets too full. I created a file /etc/local.d/99delete_tmp_files_from_failed_merges.stop containing the following code:

Code: Select all

#!/bin/bash
# If root partition is more than 50% full, delete any temporary directories and
# files that were left in /var/tmp/portage/ instead of being deleted.
#
# My root partition is on /dev/sda6 and the emerge command must not be running.
#
if [ `pgrep -c emerge` -eq 0 ] && [ `df | awk '/sda6/ {print $5}' | awk -F% '{print $1}'` -gt 50 ]; then
    rm -rf /usr/tmp/portage/*
fi
If the root partition is more than 50% full when I shut down the laptop, the script will automatically empty that directory. One less thing to think about.
Clevo W230SS: amd64, VIDEO_CARDS="intel modesetting nvidia".
Compal NBLB2: ~amd64, xf86-video-ati. Dual boot Win 7 Pro 64-bit.
OpenRC systemd-utils[udev] elogind KDE on both.

My blog
Top
nikolis
Apprentice
Apprentice
Posts: 209
Joined: Thu Aug 21, 2003 5:20 pm
Location: Athens

  • Quote

Post by nikolis » Fri Oct 15, 2021 9:20 pm

pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
Unfortunately, you need more memory.
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sat Oct 16, 2021 12:42 am

Fitzcarraldo wrote:If the root partition is more than 50% full when I shut down the laptop, the script will automatically empty that directory. One less thing to think about.
If you would prefer rapid cleanup, there is FEATURES=fail-clean.

Code: Select all

              fail-clean
                     Clean  up  temporary files after a build failure. This is
                     particularly useful if you have PORTAGE_TMPDIR on  tmpfs.
                     If this feature is enabled, you probably also want to en‐
                     able PORTAGE_LOGDIR in order to save the build log.  Both
                     the  ebuild(1)  command and the noclean feature cause the
                     fail-clean feature to be automatically disabled.
This does have the drawback that it is immediate, so there is no opportunity to inspect or attempt to repair a failed build.
Top
pd1986
Guru
Guru
Posts: 404
Joined: Sun Feb 19, 2012 9:38 am
Location: Paris

  • Quote

Post by pd1986 » Sat Oct 16, 2021 1:11 am

Tony0945 wrote:
pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
I leave my 2700X at -j16 I have 32G memory, no swap.
Maybe you need more memory.
ulenrich wrote:
Tony0945 wrote:
pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
I leave my 2700X at -j16 I have 32G memory, no swap.
Maybe you need more memory.
Yes, qtwebengine needs very much memory to compile: With 4gByte RAM I need another 4bB on swap and I cannot run anything else during compilation. Another malfunction could be due to bad memory at regions normally not used that much.
firephoto wrote:
pd1986 wrote:Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
If you run out of memory for it to build it will fail so by reducing the parallel builds you use less memory. Most of it would probably build at the higher -j but there are few parts that eat up the memory.

I have MAKEOPTS="-j13 -l23" for qtwebengine with 24 cores and 32G ram and tmp/portage on tmpfs up to 16G. Higher -j just had me hitting swap and I still get the same compile times. It did fail the other day but I had like 20 tabs open in firefox and some in chrome, and firefox and wine ended up building at the same time, and I wasn't paying attention to all the memory going away until it went oom when I was restarting firefox because I had been trying to fix emojis (critical things). Waited a few minutes to be able to do anything, qtwebengine failed, firefox and wine were done building. Using zswap too if it matters. If tmp wasn't on ram it wouldn't happen and it might be slower but it would also just be thrashing the ssd more than is necessary.


This is on a 5900X I upgraded from a 2700X.

Code: Select all

     Sun Oct 10 22:09:39 2021 >>> dev-qt/qtwebengine-5.15.2_p20210824-r1
       merge time: 43 minutes and 50 seconds.
Understood. I never paid attention to the memory usage. I have 16G memory without setting swap. Thanks for pointing it out
Top
Hund
Apprentice
Apprentice
User avatar
Posts: 221
Joined: Mon Jul 18, 2016 7:40 am
Location: Sweden
Contact:
Contact Hund
Website

  • Quote

Post by Hund » Sun Feb 06, 2022 1:38 pm

Does anyone know anything about the jumbo-build feature, if it's coming back or if we're doomed at long compile times forever now?
Collect memories, not things.
Top
Ionen
Developer
Developer
User avatar
Posts: 3013
Joined: Thu Dec 06, 2018 2:23 pm

  • Quote

Post by Ionen » Sun Feb 06, 2022 2:54 pm

Hund wrote:Does anyone know anything about the jumbo-build feature, if it's coming back or if we're doomed at long compile times forever now?
But it's already there? qtwebengine has USE=jumbo-build and it's enabled by default.
Top
Hund
Apprentice
Apprentice
User avatar
Posts: 221
Joined: Mon Jul 18, 2016 7:40 am
Location: Sweden
Contact:
Contact Hund
Website

  • Quote

Post by Hund » Sun Feb 06, 2022 3:03 pm

Ionen wrote:
Hund wrote:Does anyone know anything about the jumbo-build feature, if it's coming back or if we're doomed at long compile times forever now?
But it's already there? qtwebengine has USE=jumbo-build and it's enabled by default.
Compile fails when jumbo-build is enabled, it doesn't matter how low the value is. It's been like this since last year, it used to work just fine before.
Collect memories, not things.
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sun Feb 06, 2022 4:47 pm

Your first question reads to me like:
  • USE=jumbo-build previously existed.
  • It no longer exists, but I want to use it.
  • Does anyone know if it will come back so that I can use it?
If it is present, but does not work, then that is a different problem. Since Ionen says it is enabled by default, I expect that it works by default for whoever tested it. If it does not work for you, we should understand why.
Top
Hund
Apprentice
Apprentice
User avatar
Posts: 221
Joined: Mon Jul 18, 2016 7:40 am
Location: Sweden
Contact:
Contact Hund
Website

  • Quote

Post by Hund » Sun Feb 06, 2022 8:15 pm

Hu wrote:Your first question reads to me like:
  • USE=jumbo-build previously existed.
  • It no longer exists, but I want to use it.
  • Does anyone know if it will come back so that I can use it?
If it is present, but does not work, then that is a different problem. Since Ionen says it is enabled by default, I expect that it works by default for whoever tested it. If it does not work for you, we should understand why.
It used to work fine. It took me 'only' 2 hours to compile it then. Unfortunately, it was later completely removed and the time went up to 4-5 hours for me. It was then later added back, but it has never worked for me since it came back.
Collect memories, not things.
Top
asturm
Developer
Developer
Posts: 9496
Joined: Thu Apr 05, 2007 4:07 pm

  • Quote

Post by asturm » Sun Feb 06, 2022 8:36 pm

So, when did it last not work, and how did it fail?
Top
Hund
Apprentice
Apprentice
User avatar
Posts: 221
Joined: Mon Jul 18, 2016 7:40 am
Location: Sweden
Contact:
Contact Hund
Website

  • Quote

Post by Hund » Mon Feb 07, 2022 6:44 pm

asturm wrote:So, when did it last not work, and how did it fail?
I can't remember now, but I'll show you a log the next time there's an update and I'll try to update it with jumbo-build enabled. :)
Collect memories, not things.
Top
Hund
Apprentice
Apprentice
User avatar
Posts: 221
Joined: Mon Jul 18, 2016 7:40 am
Location: Sweden
Contact:
Contact Hund
Website

  • Quote

Post by Hund » Fri Feb 11, 2022 6:16 pm

asturm wrote:So, when did it last not work, and how did it fail?
Here's the emerge log for it: https://cloud.operationtulip.com/s/x99Aw5mY3sZnZYd
Collect memories, not things.
Top
Chiitoo
Ninja Apprentice
Ninja Apprentice
User avatar
Posts: 3057
Joined: Sun Feb 28, 2010 5:36 pm
Location: Sore wa sore, kore wa kore... nanoda.

  • Quote

Post by Chiitoo » Fri Feb 11, 2022 11:39 pm

Hund wrote:
asturm wrote:So, when did it last not work, and how did it fail?
Here's the emerge log for it: https://cloud.operationtulip.com/s/x99Aw5mY3sZnZYd
Does it really fail that way for you when using the default 'jumbo_file_merge_limit' as well?
Kindest of regardses.
Top
Hund
Apprentice
Apprentice
User avatar
Posts: 221
Joined: Mon Jul 18, 2016 7:40 am
Location: Sweden
Contact:
Contact Hund
Website

  • Quote

Post by Hund » Sat Feb 12, 2022 4:25 am

Chiitoo wrote:
Hund wrote:
asturm wrote:So, when did it last not work, and how did it fail?
Here's the emerge log for it: https://cloud.operationtulip.com/s/x99Aw5mY3sZnZYd
Does it really fail that way for you when using the default 'jumbo_file_merge_limit' as well?
What's the default? I have tried setting it to 100 and 50. I can't remember if I tried as low as 25.
Collect memories, not things.
Top
Post Reply

51 posts
  • Previous
  • 1
  • 2
  • 3
  • Next

Return to “Desktop Environments”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic