[Development] xcb-icccm dependency in Qt 5/libxcb

Koehne Kai Kai.Koehne at digia.com
Mon Oct 22 16:27:46 CEST 2012


> -----Original Message-----
> From: development-bounces+kai.koehne=digia.com at qt-project.org
> [mailto:development-bounces+kai.koehne=digia.com at qt-project.org] On
> Behalf Of Samuel Rødal
> Sent: Monday, October 22, 2012 2:10 PM
> To: development at qt-project.org
> Subject: Re: [Development] xcb-icccm dependency in Qt 5/libxcb
> 
> On 10/22/2012 01:53 PM, Koehne Kai wrote:
> > Hi,
> >
> > In Qt 5 we're relying on libxcb instead of the aging xlib. One drawback is
> that it limits the portability of Qt binaries on Linux (AFAIK xcb isn't part of
> any LSB). But it turns out the real dealbreaker when trying to have a
> somewhat portable Qt binary on Linux is libxcb-icccu: E.g. I can't run a Qt
> compiled on Ubuntu 11.10 on my OpenSUSE 12.1 because of this
> dependency, and the LSB appchecker even says it's not available on any
> platform known to him.
> 
> s/libxcb-icccu/libxcb-icccm ?

Hu, sorry, that happens if you hurry up sending a mail ... I of course meant libxcb-icccm.
 
> > Now I don't have a real understanding of icu, and couldn't really figure out
> what libxcb-icccm does. I learnt it's an acronym for "Inter-Client
> Communication Convention" , but how crucial is it? Would it be feasible to
> make icccm optional for the icu platform plugin (preferably by configure
> switch)?
> 
> What does ICU have to do with icccm?

Nothing, yet another "typo" :( We have also an ICU dependency, but that has been discussed before and AFAIK you've to just ship ICU with Qt.

> In any case, it's probably possible to make the xcb plugin have an optional
> dependency on libxcb-icccm, but it might leave the xcb plugin a lot less
> usable on desktop platforms.
> 
> I guess there are two other options:
> 
> 1) include libxcb-icccm in qtbase/src/3rdparty, build it into the xcb plugin?
> 2) make the xcb plugin not use the convenience that libxcb-icccm provides,
> instead using lower level xcb calls to achieve the same thing
> 
> Not sure which would be preferable. The latter seems cleaner but would
> have to duplicate some of the effort that went into libxcb-icccm. It's really
> annoying that libxcb-icccm hasn't kept a stable ABI between releases.

Maybe I'm wrong, but I think the issue is that Ubuntu 11.10 (which we use as reference platform, among Ubuntu 12.04) just features a lib-icccm which is 'too new' (0.4), while my OpenSUSE 11.10 only has 0.1. So they might be binary compatible, or not, I don't know... Anyway, the lsb report makes me thing that it's not only OpenSUSE that will have problems.

Regards

Kai

> --
> Samuel
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development



More information about the Development mailing list