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

Koehne Kai Kai.Koehne at digia.com
Fri Oct 25 10:39:49 CEST 2013


> -----Original Message-----
> From: systemd-devel-bounces+kai.koehne=digia.com at lists.freedesktop.org
> [mailto:systemd-devel-
> bounces+kai.koehne=digia.com at lists.freedesktop.org] On Behalf Of Cristian
> Rodríguez
> Sent: Friday, October 25, 2013 1:49 AM
> To: systemd-devel at lists.freedesktop.org
> Subject: Re: [systemd-devel] Can apps ship their own copy of libudev?
> 
> El 24/10/13 09:15, Koehne Kai escribió:
> > Hi,
> >
> > 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) ...
> 
> I strongly recommend you not to do this, instead please talk with the
> relevant distribution maintainers in order to get adequate binaries released
> for each distribution.
> 
> I not only believe, but I will bet good money that what your are trying to do
> will in the end working really poorly if at all.

Actually we're having the very same discussion right now on the qt-developer mailing list. I completely agree that providing packages per distribution is superior, and I assume most users actually use the qt packages from their distribution.
 
However, I'd also like to point out that this isn't a golden bullet for us, because:
- some of our users actually want to ship distribution independent libraries, so we're just shifting the problem to them
- some of our users use old, or exotic distributions/versions
- we want to provide also beta packages, which might be hard to get released in time for a variety of distributions
- we (as in Digia) also offer a commercial version, which would probably require a dedicated infrastructure

Also, it's not that we're trying to provide distribution independent packages for the first time ... we've been doing this for years. Though I admit that, mainly because of the very limited scope of the LSB, it has had its quirks,  it worked pretty well so far in general. 

Finally, just searching for 'libudev.so.0' on the web shows that we're far from the only ones who ran into problems because of this ... Learning that the differences between libudev.so.0 and libudev.so.1 are very minor somewhat helps (we can e.g. dlopen it), but also makes me wonder whether the switch was really necessary. Anyhow, that's just food for thought, I certainly didn't join here to criticize you.

Regards

Kai

--
   Kai Köhne, Senior Software Engineer - Digia, Qt
   Digia Germany GmbH, Rudower Chaussee 13, D-12489 Berlin
   Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
   Sitz der Gesellschaft: Berlin. USt-IdNr: DE 286 306 868
   Registergericht: Amtsgericht Charlottenburg, HRB 144331 B


More information about the systemd-devel mailing list