[SDL] Custom libSDL dependencies inconsistent?
Gabriele Greco
gabriele.greco at darts.it
Wed Apr 16 09:54:53 PDT 2008
On 4/16/08, Gianfranco Berardi <gberardi at gbgames.com> wrote:
> When you say that the first option gave you installation related
> problems, what kind? I was under the impression that using an older
> distro would result in libraries that would remain compatible with
> future distros and that apgcc was just making sure you used the old
> symbols anyway.
The problem is all about library requirements.
If you use complex libraries you will have for instance dependencies from
libpng or libz (two libraries that had big api changes since the old distro
I used, redhat 8.0), you can have direct dependencies and these can be
solved also with static link but if not only the main binary depends from a
system library but also some support library you'll have to make sure the
right version of the libraries is called, so you'll start messing with
LD_LIBRARY_PATH and executable/libraries rpaths.
The problem you'll have if you play too much with them is that you can broke
the way some distro rely on them, for instance SUSE and Fedora use
LD_LIBRARY_PATH to supply both software and hardware accelerated opengl
implementation.
Also X11 libraries of XFree86 are different from XOrg ones, I found a few
problems with freetype and I finished with shipping also that one in the
installer....
You can have also a few problems with audio, modern systems are alsa based,
but if you don't install a modern version of alsa libraries on your "old"
machine you'll have symbol size mismatches at runtime...
Anyway if your game or some of your dependencies are in C++ you'll have to
supply your own libstdc++, since newer distro will not have for sure
libstdc++-5 or libstdc++-3 (the first if you'll compile with gcc3.2-3.3 the
latter if you compile with gcc3.0 or 2.9x).
The other negative point is that you'll loose all the optimizations and new
features of modern gcc versions...
Anyway you can archive what apgcc does also without it, look inside the
script /usr/bin/apgcc, it's well commented, most of the "magic" is done with
compiler command line switches and an header file called apsymbols.h.
--
Bye,
Gabry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20080416/6afc3b0c/attachment.htm
More information about the SDL
mailing list