Created attachment 323218 [details] emerge --info www-client/chromium-22.0.1229.36 has wrong dbus / dbus-glib dependencies: a) From what I can tell, chromium needs dbus-glib to build, but not to run. It does not link against it. After I uninstalled dbus-glib, chromium still runs fine without it with new or already existing profiles. But perhaps there are some parts I have not tested that actually use dbus-glib. b) chromium needs libdbus-1 from sys-apps/dbus to build and to run, as it actually links against it: $ readelf -d chrome|grep dbus 0x0000000000000001 (NEEDED) Shared library: [libdbus-1.so.3] $ readelf -d chromedriver|grep dbus 0x0000000000000001 (NEEDED) Shared library: [libdbus-1.so.3] While dbus is being pulled in via dbus-glib, the standard course of action for ebuild writing (as far as I am aware) is to add the necessary dependencies to the ebuilds for packages that need them. So I propose to add sys-apps/dbus to DEPEND + RDEPEND. Thanks for your work!
I don't think dbus-glib is even needed for building. It only seems to be referenced by gyp blocks that are behind a chromeos==1 condition.
Hmm... not quite. Exception: Call to 'pkg-config --cflags dbus-glib-1' returned exit status 1. while loading dependencies of /tmp/portage/www-client/chromium-22.0.1229.39/work/chromium-22.0.1229.39/base/base.gyp while loading dependencies of /tmp/portage/www-client/chromium-22.0.1229.39/work/chromium-22.0.1229.39/build/all.gyp while trying to load /tmp/portage/www-client/chromium-22.0.1229.39/work/chromium-22.0.1229.39/build/all.gyp
The pkg-config calls in build/linux/system.gyp seem to be evaluated even when no targets actually depend on system.gyp:dbus-glib. I'm not sure if there is a way to avoid this. Maybe Pawel knows, or we can ask a gyp expert upstream.
(In reply to comment #3) > The pkg-config calls in build/linux/system.gyp seem to be evaluated even > when no targets actually depend on system.gyp:dbus-glib. I'm not sure if > there is a way to avoid this. The target exists so the Makefile code for it has to be generated, even if nothing depends on it (targets can be made explicitly). I fixed this by moving the target to chromeos-specific section (patch landed upstream, chromium-23.0.1271.6 contains the fix).
Thank you for taking care of dbus-glib! I am reopening this bug however because it seems to me that point b) from my original report has been overlooked: (In reply to comment #0) > b) chromium needs libdbus-1 from sys-apps/dbus to build and to run, as it > actually links against it: > > $ readelf -d chrome|grep dbus > 0x0000000000000001 (NEEDED) Shared library: [libdbus-1.so.3] > > $ readelf -d chromedriver|grep dbus > 0x0000000000000001 (NEEDED) Shared library: [libdbus-1.so.3] Which is still the case in the current chromium-23* ebuilds, but sys-apps/dbus is nowhere to be found in the dependencies. So I'd like to suggest again to add dbus to DEPEND and RDEPEND. Thanks again!
(In reply to comment #5) > So I'd like to suggest again to add dbus to DEPEND and RDEPEND. Done, thanks! In fact, this was even more important, since removing dbus-glib also removed the implicit dependency on dbus.