Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
QtWebEngine - compile time
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
DarkAudit
n00b
n00b


Joined: 27 Mar 2021
Posts: 27

PostPosted: Mon Oct 11, 2021 9:34 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Mon Oct 11, 2021 9:47 am    Post subject: Reply with quote

It just means you have ccache enabled.
Back to top
View user's profile Send private message
DarkAudit
n00b
n00b


Joined: 27 Mar 2021
Posts: 27

PostPosted: Mon Oct 11, 2021 12:37 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Mon Oct 11, 2021 1:07 pm    Post subject: Reply with quote

exactly.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21631

PostPosted: Mon Oct 11, 2021 3:42 pm    Post subject: Reply with quote

wrc1944 wrote:
Can I avoid building qtwebengine 3 times, by building it once and then make a binary with
Code:
quickpkg qtwebengine
and copy it to the other 2 installs to their /usr/portage/packages/dev-qt/ directories, and then emerge it with
Code:
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.
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Mon Oct 11, 2021 5:09 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
pd1986
Guru
Guru


Joined: 19 Feb 2012
Posts: 404
Location: Paris

PostPosted: Fri Oct 15, 2021 1:07 pm    Post subject: Reply with quote

Everytime i complied qtwebengine, I had to reduce the thread from -j12 to -j6. otherwise, it would fail. Does anyone know why? Much appreciated.
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Fri Oct 15, 2021 2:15 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
ulenrich
Veteran
Veteran


Joined: 10 Oct 2010
Posts: 1480

PostPosted: Fri Oct 15, 2021 5:39 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
firephoto
Veteran
Veteran


Joined: 29 Oct 2003
Posts: 1612
Location: +48° 5' 23.40", -119° 48' 30.00"

PostPosted: Fri Oct 15, 2021 6:18 pm    Post subject: Reply with quote

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:

     Sun Oct 10 22:09:39 2021 >>> dev-qt/qtwebengine-5.15.2_p20210824-r1
       merge time: 43 minutes and 50 seconds.

_________________
#gentoo-kde on freenode
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Fri Oct 15, 2021 7:43 pm    Post subject: Reply with quote

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.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
Fitzcarraldo
Advocate
Advocate


Joined: 30 Aug 2008
Posts: 2034
Location: United Kingdom

PostPosted: Fri Oct 15, 2021 8:26 pm    Post subject: Reply with quote

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:
#!/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 udev elogind & KDE on both.

Fitzcarraldo's blog
Back to top
View user's profile Send private message
nikolis
Apprentice
Apprentice


Joined: 21 Aug 2003
Posts: 199
Location: Athens

PostPosted: Fri Oct 15, 2021 9:20 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21631

PostPosted: Sat Oct 16, 2021 12:42 am    Post subject: Reply with quote

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.
man make.conf:
              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.
Back to top
View user's profile Send private message
pd1986
Guru
Guru


Joined: 19 Feb 2012
Posts: 404
Location: Paris

PostPosted: Sat Oct 16, 2021 1:11 am    Post subject: Reply with quote

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:

     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
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Sun Feb 06, 2022 1:38 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2719

PostPosted: Sun Feb 06, 2022 2:54 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Sun Feb 06, 2022 3:03 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21631

PostPosted: Sun Feb 06, 2022 4:47 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Sun Feb 06, 2022 8:15 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Sun Feb 06, 2022 8:36 pm    Post subject: Reply with quote

So, when did it last not work, and how did it fail?
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Mon Feb 07, 2022 6:44 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Fri Feb 11, 2022 6:16 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2573
Location: Here and Away Again

PostPosted: Fri Feb 11, 2022 11:39 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Hund
Apprentice
Apprentice


Joined: 18 Jul 2016
Posts: 218
Location: Sweden

PostPosted: Sat Feb 12, 2022 4:25 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
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