[PATCH] Build libxf86config with -fPIC.

Peter Hutterer peter.hutterer at who-t.net
Mon Nov 22 21:51:37 PST 2010


On Mon, Nov 15, 2010 at 04:11:11PM -0800, Dan Nicholson wrote:
> On Mon, Nov 15, 2010 at 10:38 AM, Julien Cristau <jcristau at debian.org> wrote:
> > On Mon, Nov 15, 2010 at 13:28:34 -0500, Gaetan Nadon wrote:
> >
> >> On Mon, 2010-11-15 at 15:35 +0100, Julien Cristau wrote:
> >>
> >> > If you want to install it as a shared library you also want to track
> >> > its
> >> > ABI and give it a SONAME, which is more work.  Shipping it as a PIC
> >> > static lib which you don't have to be as careful with possible ABI
> >> > breaks, but you can still embed it in something like a python module
> >> > (which must be PIC).
> >> >
> >>
> >> This is an important point. We are waisting time trying to guess what
> >> this patch is for.
> >>
> > Oh, I know what it's for, it's needed for pyxf86config.  I just don't
> > think anyone is prepared to commit to a stable ABI for libxf86config, so
> > installing it as a shared library may not be the best plan.
> 
> IMO, just because you decided to make the library shared doesn't mean
> you've suddenly agreed to any more ABI stability than before.

the big difference is compile-time vs. run-time ABI stability.

which especially in the case of a distribution can make a difference because
once you compile a lib from package A into package B, what happens to A
doesn't matter until you recompile B too. with a shared library, updating A
can break B.

(that of course doesn't mean it's the right thing to do, it's just how it
is)

Cheers,
  Peter


> However, I think you can make a libtool library (bringing in PIC
> magic) and have it be static only. In addition to the diff I sent
> earlier, add:
> 
> libxf86config_la_LDFLAGS = -static
> 
> A little testing with a dummy project shows this works.
 


More information about the xorg-devel mailing list