Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 453070

Summary: =www-client/google-chrome-25.0.1364.29_beta176005: /lib64/libudev.so.0 used by /opt/google/chrome/chrome, but not installed by current udev
Product: Gentoo Linux Reporter: Dennis Schridde <devurandom>
Component: [OLD] Core systemAssignee: Chromium Project <chromium>
Status: RESOLVED CANTFIX    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dennis Schridde 2013-01-19 23:51:10 UTC
!!! existing preserved libs:
>>> package: sys-fs/udev-196-r1
 *  - /lib64/libudev.so.0
 *  - /lib64/libudev.so.0.11.5
 *      used by /opt/google/chrome/chrome (www-client/google-chrome-25.0.1364.29_beta176005)

That libudev.so.0 is apparently quite old, but chrome still links to it.

How does that work when one installs the newer udev (libudev.so.1) directly, so that the old file cannot be preserved? As chrome really has the file in NEEDED (and does not dlopen it), I assume it is not safe to delete it?
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2013-01-20 00:00:42 UTC
Try latest version, google-chrome-26.0.1386.0_alpha177362
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-01-20 00:02:30 UTC
Add www-client/google-chrome to /etc/portage/package.unmask. It could be we need to unmask newer version rather sooner than later. Otherwise google-chrome needs to bundle prebuilt copy of libudev.so.0 propably.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2013-01-20 00:04:21 UTC
And bit off-topic:

stop using udev-196, it has wrong udevdir= in udev.pc and installs all files into wrong directories, and causes other packages to install them into wrong directories.

udev-196 was restored to portage only for systemd-196 temporarily, nobody should use it, since systemd-197 was added to Portage today.
Comment 4 Mike Gilbert gentoo-dev 2013-01-20 00:45:56 UTC
Short answer:

It is safe to remove /lib64/libudev.so.0* manually. google-chrome uses a dirty hack to get google-chrome to load libudev.so.1 as if it were libudev.so.0:

Long answer:

Google chrome installs a wrapper script which sets LD_LIBRARY_PATH=/opt/google/chrome.

/opt/google/chrome/libudev.so.0 is a symlink to /usr/lib/libudev.so.

Recent versions of udev install /usr/lib/libudev.so as a symlink to libudev.so.1.

I don't think there is any sane way to fix the preserve-libs issue, as this use case is a bit unorthodox.
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2013-01-20 02:12:19 UTC
Thanks Mike, now I know at least howto handle this next time.