View previous topic :: View next topic |
Author |
Message |
jankom Guru
Joined: 30 Aug 2021 Posts: 333 Location: USA
|
Posted: Mon Sep 23, 2024 10:31 am Post subject: qtwebengine compile fails |
|
|
Hello,
I try to solve Gentoo problems myself, but am not proficient enough to help others yet. However, this time I'm stuck and need help.
I update my system every 2 to 3 months, last time was in June, this year (2024). Compiling all packages took more than 3 days, but finally qtwebengine failed. It was among last 3 of 341 packages. tried again, now with only 3 packages left, and in about 20 hours qtwebengine failed again after completing almost all of the [30117} tasks. The failure was a ninja.
Presently compiling again with "bindist" use flag enabled, and after 3 hours I'm, at [8066/30117].
Any ideas, please?
jankom |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31199 Location: here
|
Posted: Mon Sep 23, 2024 11:13 am Post subject: |
|
|
You should share the build.log and your emerge --info.
Without any information is hard to help you.
Check your dmesg to see if the problem could be an out of memory error. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
jankom Guru
Joined: 30 Aug 2021 Posts: 333 Location: USA
|
Posted: Mon Sep 23, 2024 11:49 am Post subject: |
|
|
Here is part of the failure message Code: | * Messages for package dev-qt/qtwebengine-6.7.2:
* Log file: /var/log/portage/log/dev-qt:qtwebengine-6.7.2:20240920-030743.log
* Amount of main memory is insufficient, but amount
* of main memory combined with swap is sufficient.
* Build process may make computer very slow!
* ERROR: dev-qt/qtwebengine-6.7.2::gentoo failed (compile phase):
* ninja -v -j4 -l0 failed
*
* Call stack:
* ebuild.sh, line 136: Called src_compile
* environment, line 3589: Called cmake_src_compile
* environment, line 1656: Called cmake_build
* environment, line 1623: Called eninja
* environment, line 2105: Called die
* The specific snippet of code:
* "$@" || die -n "${*} failed"
| I was checking memory state and sometimes swap was used but not all. dmsg has already lot more entries.
Compiling still proceeding, now at [12920/30117]
Thanks |
|
Back to top |
|
|
Ionen Developer
Joined: 06 Dec 2018 Posts: 2820
|
Posted: Mon Sep 23, 2024 12:00 pm Post subject: |
|
|
The build process usually does not use "that much" ram but there are occasional sudden spikes in usage and that's where it may fail. ebuild may say it's sufficient w/ swap, but that's an approximation and does not account for other things using ram at same time.
May want to check "dmesg"'s output, if haven't rebooted since last failure then it may mention having run out of memory.
If it's not ram, will ideally need the full build.log to know what happened. The bottom part is not saying much beside "something went wrong earlier on" and "here are the things you should provide if need support".
Note that there's also the option to just a binpkg of it, which tend to be a good idea for low end hardware that needs more than 3-4 hours to painfully compile this.
https://wiki.gentoo.org/wiki/Gentoo_Binary_Host_Quickstart
https://distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64/dev-qt/qtwebengine/
One downside of binpkgs is that you'll be forced to enable USE=bindist which disables proprietary codecs (e.g. can't play h264 videos), albeit youtube and such has vp9/av1/opus free alternatives nowadays. Not that it matters if not going to browse the web with qtwebengine either way. |
|
Back to top |
|
|
eschwartz Developer
Joined: 29 Oct 2023 Posts: 164
|
Posted: Mon Sep 23, 2024 1:56 pm Post subject: |
|
|
jankom wrote: | Here is part of the failure message
|
Unfortunately, that's the only part that doesn't contain the failure message.
Please post the *entire* /var/log/portage/log/dev-qt:qtwebengine-6.7.2:20240920-030743.log |
|
Back to top |
|
|
jankom Guru
Joined: 30 Aug 2021 Posts: 333 Location: USA
|
Posted: Tue Sep 24, 2024 7:41 am Post subject: Progress report |
|
|
Still compiling, after about 24 hours: [24553/30117]. Will report if success or requested additional info if failure. Thank you all for your interest in helping - jankom |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2224
|
Posted: Tue Sep 24, 2024 11:30 am Post subject: Re: Progress report |
|
|
Ionen wrote: | The build process usually does not use "that much" ram but there are occasional sudden spikes in usage and that's where it may fail. |
Yes, I've observed such behavior both for qtwebengine and comparable versions of chromium. What I used to do back then, I think it was the times of double digit chromium major versions was, to create a zram device and put swap there. This would save me from such situations. It would trade CPU time for memory, but it has it's limits of course. What should be considered is that zram takes 10 percent of the configured maximum size just to maintain an empty device.
It could save me from those sudden spikes which happen when more GCC/clang processes overlap in their high memory consumption stages. Back then I had an HDD so swap was highly undesirable as it could render the computer unresponsive.
jankom wrote: | Still compiling, after about 24 hours: [24553/30117]. Will report if success or requested additional info if failure. Thank you all for your interest in helping - jankom |
What's stopping you from using the binhost, at least for that particular package? If you don't want to configure a binhost, you can download the binary packages and use them locally too.
Best Regards,
Georgi |
|
Back to top |
|
|
jankom Guru
Joined: 30 Aug 2021 Posts: 333 Location: USA
|
Posted: Tue Sep 24, 2024 1:32 pm Post subject: |
|
|
Quote: | What's stopping you from using the binhost, at least for that particular package? | That'll be my next step.
When I do occasional system updates I do Code: | eix-sync
emerge -avuND --with-bdeps=y @world | then would continue with six more commands. I'm still at the "emerge -avUND..." step that failed after updating 338 of 341 packages. This is when I posted my first cry for help - while making another attempt by modifying /etc/portage/package.use file by adding a line Code: | dev-qt/qtwebengine bindist | The "emerge -avUND..." process is still running, now at [27941/30117]. Hopefully soon if fails or finishes with the remaining two other packages.
I thought adding the bindist use flag in package.use file would make a difference. There was one other thing different: previously I was using ovpn to a remote server connecting to the outside world (Internet) on top of the Internet access via local ISP. I did find that sometimes during the compile process my ovpn connection stopped. This time I'm connecting to Internet without ovpn. But this could just a red herring.
xosview shows me the 4 cpu-s, the memory, swap and page activity, and so far everything is within normal operating conditions.
Will see...
jankom |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2224
|
Posted: Tue Sep 24, 2024 4:58 pm Post subject: |
|
|
I think you're mistaking binary packages with use flags. Bindist is a use flag regarding components that are distributed as binaries due to licensing issues. Ref: equery uses qtwebengine:
Code: | * Found these USE flags for dev-qt/qtwebengine-6.7.2:
U I
...
+ + bindist : Flag to enable or disable options for prebuilt (GRP) packages (eg. due to licensing issues) |
Here's how you configure a binhost: https://wiki.gentoo.org/wiki/Gentoo_Binary_Host_Quickstart
If your CPU is capable of executing x86_64-v3 code, there's a note pointing to a page that explains how to configure it. It contains instructions on how to check if your CPU supports it.
In your original command --with-bdeps defaults to yes, so why are you putting it there? It regards build-time dependencies, not binary packages. It'll default to no when you use binary packages as they don't need build-time dependencies. They are already built.
Best Regards,
Georgi |
|
Back to top |
|
|
|