[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problems building libsdl1.2 on hppa & ia64



On Sun, Jul 08, 2001 at 03:47:03AM +0100, Matthew Wilcox wrote:

> What's going on is that ld is trying to construct a shared
> library (libSDL-1.2.so.0.0.1), and it needs to link in files
> from libXxf86dga.  However, that lib is only built statically
> (ie as a .a; no .so variant).  According to Andreas Schwab in

This is a bug in libsdl1.2.  Note that lintian picks this up:

E: libsdl1.2-oss: shlib-with-non-pic-code usr/lib/libSDL-1.2.so.0.0.1
E: libsdl1.2-esd: shlib-with-non-pic-code usr/lib/libSDL-1.2.so.0.0.1
E: libsdl1.2-arts: shlib-with-non-pic-code usr/lib/libSDL-1.2.so.0.0.1
E: libsdl1.2-all: shlib-with-non-pic-code usr/lib/libSDL-1.2.so.0.0.1

This is exactly why policy mandates that shared object code be compiled with
-fPIC.

> So how to fix it?  Well, libXxf86dga could be provided as a .so as well
> (presumably, I _really_ don't feel like hacking my way through XFree86
> if I don't have to).  Or we could configure libsdl1.2 to only build a
> static lib, but I don't know what repercussions that would have.


Probably, DGA support should be disabled in libsdl1.2 (--disable-dga).  It
could be disabled in the shared library and not in the static one, but that
sounds like bad news for developers.  It would certainly confuse me.

libXxf86dga is probably not provided in shared library form because the API
hasn't stabilized yet, so it doesn't make sense to build a shared library to
solve this problem.

If I understand correctly how it is using libXxf86dga, the change shouldn't
affect any programs linked against libsdl1.2.

-- 
 - mdz



Reply to: