Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 681832 - dev-qt/qtwebengine-5.12.2: fails to link/install libQt5WebEngineCore.so with not enough memory/disk-space @preserved-rebuild loop
Summary: dev-qt/qtwebengine-5.12.2: fails to link/install libQt5WebEngineCore.so with ...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-27 01:35 UTC by Jacopo
Modified: 2020-01-20 09:59 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jacopo 2019-03-27 01:35:42 UTC
I had to emerge qtwebengine with debugging symbols to investigate a crash; after re-emerging the package, the installation stage complains:


!!! existing preserved libs:
>>> package: dev-qt/qtwebengine-5.12.2
 *  - /usr/lib64/libQt5WebEngineCore.so.5.12.2                                     
 *      used by /usr/bin/akonadi_ews_resource (kde-apps/kdepim-runtime-18.12.3)    
 *      used by /usr/bin/akonadi_facebook_resource (kde-apps/kdepim-runtime-18.12.3)
 *      used by /usr/lib64/libFalkonPrivate.so.3.0.1 (www-client/falkon-3.0.1-r1)  
 *      used by 14 other files
Use emerge @preserved-rebuild to rebuild packages using these libraries            

emergeing @preserved-rebuild re-emerges qtwebengine once again and causes the same mishap. 


Reproducible: Always



Expected Results:  
Install the version with debug symbols without preserving the version without debug symbols
Comment 1 Zac Medico gentoo-dev 2019-03-27 05:09:13 UTC
It looks like the problem is that rebuilding the consumers of the library is ineffective, and that would be caused by flaws in the build systems of the consumers. Is there a /usr/lib64/libQt5WebEngineCore.so symlink that triggers this?
Comment 2 Jacopo 2019-03-27 17:31:40 UTC
> Is there a /usr/lib64/libQt5WebEngineCore.so symlink that
> triggers this?

Yes there is.

Here is some additional information:
I tried to install the debug version by uninstalling the release version first via 

emerge -C

then I removed the libs from /usr/lib by hand (as they were left by @preserve-rebuild). I emerged qtwebengine USE=debug

Now the library /usr/lib64/libQt5WebEngineCore.so.5.12.2
is not installed, despite symlinks to it being created. 

It seems that there are some problem with the debug installation (independently on the consumers)
Comment 3 Jacopo 2019-03-27 17:44:40 UTC
My previous build was run in tmpfs; is there a chance of linking WebEngineCore going silently OOM?

I am emerging it without tmpfs as I write this, but it will take a few hours to complete.
Comment 4 Zac Medico gentoo-dev 2019-03-27 18:03:31 UTC
So, we need to verify whether of not libQt5WebEngineCore.so.5.12.2 and corresponding symlinks are supposed to be installed or not. If they are supposed to be installed, then the preserve libs message is supposed to resolve when you rebuild qtwebengine (it's not appropriate to run @preserved-rebuild in this case).
Comment 5 Jacopo 2019-03-28 02:27:59 UTC
Ok, building without tmpfs indeed installed the .so  correctly. 

My guess is that either the linker went OOM or the tmpfs went out of space during installation; either way this was not reported as an error by portage.
Comment 6 Zac Medico gentoo-dev 2019-03-28 05:23:52 UTC
It's the responsibility of the underlying build system and ebuild code to report such errors as failures. I see the ebuild has checks for a missing libQt5WebEngine.so:


https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f0d04eababcfbe4d723332b492a0404fb1591f0
https://gitweb.gentoo.org/proj/qt.git/commit/?id=8b3bc585d4be74d428d0419dd7b4b55ff2e41e28
Comment 7 Herb Miller Jr. 2019-11-16 20:54:42 UTC
Understanding that this is an upstream issue, I can confirm this is still a problem with 5.13.2.
Comment 8 Erik Solomon 2020-01-20 09:59:59 UTC
I've heard of this one but haven't experienced it personally, but I guess that makes it confirmed.  Their suggestion involved removing the -PIPE from the make.conf for this particular build so that the stages will be more "atomic" stages instead of running all phases concurrently (but put PIPE back in again when done).  Not bragging but just sharing my experience: with my 16GB of RAM it never touches swap even with -PIPE.  Again, I can't offer any confirmation, but it's simple enough to try.  Besides, with a build that big, you don't want to slow it down by resorting to swap.  My guess?  Triple your build time.  It'd be obsolete by the time you built it.  Good luck.