how to handle a gui- and non-gui-version of the same library/soname

Milos Jakubicek xjakub at
Mon Jan 18 19:27:22 UTC 2010

On 18.1.2010 13:17, Stephen Gallagher wrote:
> Hash: SHA1
> On 01/17/2010 09:04 AM, Milos Jakubicek wrote:
>> Hi all,
>> is there any good way how to handle the situation described at
>> ?
>> I.e. you have a single library (single soname) which can be compiled
>> with or without GUI support (with different ABI) -- and we'd like to
>> have both of them, of course -- the non-GUI version on headless servers,
>> the GUI one for desktop.
>> As far "yelling at upstream" sounds like the most correct way.
>> Thanks in advance for any advice,
>> Milos
> This is not a properly-built library. You can't have the same SONAME and
> different ABI. That's the entire point of a SONAME.

I know.

The proper way would
> be to build the library always with GUI support and then not USE the GUI
> portions of the ABI unless you need to.

This is currently the case -- the library is of course built with GUI 
support, but that means that the package depends on whole a lot of stuff 
ending with X11 libraries which is not desirable on a headless server.

I was thinking about whether there would be a more or less correct way 
to build the libraray twice (with and without GUI) into two subpackages 
with mutual Provides/Obsoletes (allowing to install the non-GUI version 
by default and possibly substitute with the GUI one on demand). But this 
stinks indeed (not only because of the sonames)...and one would have to 
ensure that all the dependencies will behave good.

I was just curious whether there are not another packages with similar 
problems and possible solutions to look at in Fedora.


More information about the devel mailing list