[yocto] Google Chrome recipe and systemd => how to satisfy runtime requirement for libudev.so.0?

Timo Pulkkinen timo.j.pulkkinen at gmail.com
Tue Jan 27 23:52:33 PST 2015


> On 27.1.2015, at 21.49, Burton, Ross <ross.burton at intel.com> wrote:
> 
> There really isn't - systemd has a newer udev that had an ABI change, so the version was increased.
> 
> There's no way that your tmp/deploy/rpms can contain both systemd and udev packages (specifically, libudev1 and libudev0) unless you don't delete it when enabling the systemd DISTRO_FEATURE.  The systemd and udev packages conflict with each other and they both can't be built at the same time.
> 
> A copy of the cooker log for the image would be useful after you've deleted tmp and -ccleansstate's google-chrome if you are certain that this is what has happened.
> 
Ross,

yeah, you were right - I mistook the existing libudev and udev rpms not to be from systemd before I checked the contents (they DO contain only udevstuff "generated" by systemd). So the image build itself was ok all the time, but libudev.so.0 just doesn't exist when using systemd.

However, about my actual problem: I managed to package Google Chrome successfully by adding SKIP_FILEDEPS_${PN} = "1" and by creating a symlink /opt/google/chrome/libudev.so.0 -> ../../../lib/libudev.so.1 in do_install. A bit dirty, but this is what the official deb from Google seems to do to manage the different versions. Also skipping file deps inspection is not clearly an optimal solution, but works for me in this case.

Thanks for your help, 

Timo



More information about the yocto mailing list