[systemd-devel] Can apps ship their own copy of libudev?

Kay Sievers kay at vrfy.org
Thu Oct 24 15:09:13 CEST 2013


On Thu, Oct 24, 2013 at 2:15 PM, Koehne Kai <Kai.Koehne at digia.com> wrote:
> First time I post to the list, so please bear with me :) I'm a developer working on Qt. The Qt project just released a  beta of the upcoming version 5.2, and to help people to test it we've been also releasing an installer with binaries for Linux that is supposed to work on a variety of distributions.
>
> One of the problems [1] we still have to fix is our libudev.so.0 dependency ... That is, we're building the packages on Ubuntu 11.10 and link against system libudev.so.0 , while some modern distributions are (solely) providing libudev.so.1. For some parts of Qt the libudev dependency is actually not that important , and we can disable it. However, for the QtSerialPort library I've been told libudev is crucial: It uses it to enumerate all available ports.
>
> So, to overcome this we've been thinking about building & shipping our own copy of libudev (renamed , or statically linked, to avoid clashes) ... Would you expect such a pristine version of libudev, compiled on distribution A , to work flawlessly on distribution B? What problems would you anticipate?

No, you cannot really ship your own libudev, it is coupled with the
daemon. They speak a non-trivial wire protocol and write udev database
files which are a private implementation only; they changed in the
past, and might change at any time again. Libudev and udevd can only
be used in the same version.

Kay


More information about the systemd-devel mailing list