Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 512806 - www-client/chromium is missing some RDEPENDS
Summary: www-client/chromium is missing some RDEPENDS
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-09 07:26 UTC by Agostino Sarubbo
Modified: 2014-08-31 13:53 UTC (History)
0 users

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 Agostino Sarubbo gentoo-dev 2014-06-09 07:26:41 UTC
If you try to look what scanelf reports, some rdepends are missing.

dev-libs/glib
media-libs/fontconfig
media-libs/freetype
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/libX11
x11-libs/libXcomposite
x11-libs/libXcursor
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrandr
x11-libs/libXrender
x11-libs/pango

To find the full list:

qlist -e chromium | xargs scanelf -L -n -q -F '%n #F' | tr , ' ' | xargs qfile -Cv | sort -u | awk '{print $1}' | uniq
Comment 1 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-07-11 18:49:13 UTC
Just some notes about this:

From https://blog.flameeyes.eu/2010/05/depend-on-what-you-use :

"On the other hand, listing libpng because it’s present in the final link (especially when not using --as-needed) is a bad idea which you definitely should avoid."

From https://blog.flameeyes.eu/2009/02/rdepend-safety :

"As you can see here MPlayer does not use either of those libraries, which means that they should not be in MPlayer’s RDEPEND. There is, though, another common mistake here. If you don’t use --as-needed (especially not forcing it), you’re going to get indirect and misguided dependencies . So you can only trust DT_NEEDED when the system has been built with --as-needed from the start. This is not always the case and thus you can get polluted dependencies. And thanks to the fact that now the linker silently ignores --as-needed on broken libraries this is likely to create a bit of stir."

I have emerged chromium successfully from an empty chroot several times, so I don't see any obvious breakage. I'll do deeper checks on this, but it will take some time.

Any help with verifying that chromium uses mentioned dependencies directly would be appreciated. One strategy is to just look for references and pkg-config calls in gyp files (http://cs.chromium.org).
Comment 2 Mike Gilbert gentoo-dev 2014-07-11 20:37:59 UTC
Agostino brought this to my attention in #gentoo-dev before filing this bug. I also found Diego's blog posts, but asked him to file a bug anyway.

These days --as-needed is enabled by default, and I'm sure Ago has it enabled.

That would imply that chromium is using some symbols from these libraries directly; otherwise, they would get dropped from DT_NEEDED by the linker.

I don't think anything is currently broken, but we are probably relying on some indirect deps.
Comment 3 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-07-12 17:33:41 UTC
This is another test on my system:

$ ldd -u -r /usr/lib/chromium-browser/chrome
Unused direct dependencies:
	/usr/lib/libplc4.so
	/usr/lib/libXrender.so.1
	/lib/libcap.so.2

I think this means most of the libs flagged by scanelf are indeed used directly.
Comment 4 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-07-19 10:50:40 UTC
  19 Jul 2014; Pawel Hajdan jr
  chromium-37.0.2062.20.ebuild:
  Add more used libraries to RDEPEND, bug #512806 by ago.

I'll close this bug when the fix makes it to stable.
Comment 5 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2014-08-31 13:53:39 UTC
chromium-37 is now stable, closing