[SDL] Custom libSDL dependencies inconsistent?
Gianfranco Berardi
gberardi at gbgames.com
Wed Apr 16 06:41:12 PDT 2008
Gabriele Greco wrote:
>
> Anyway if your target is to build for the wider range of machines you
> can I suggest you two roads:
>
> 1) Build with a old distro
> 2) Build with autopackage gcc extension (apgcc), look at autopackage.org
> <http://autopackage.org> for details.
>
> The second option is better, I've used it in my last commercial game
> port and got about 0 installation problems, while the previous attempt
> that used 1 got a lot of installation related problems.
>
> apgcc is a script that removes dipendencies from newer version of glibc,
> disabling stack check and forcing the use of OLD symbols for locale and
> other glibc apis evolved in 2.2 and 2.3. It also optionally statically
> link some x11 libs, strips unneeded dependencies in link stage, and sets
> rpath for library loading in the correct way for loading libraries from
> a local path without having to mess with LD_LIBRARY_PATH.
>
I tried using apgcc, but one of my libraries, the Kyra Sprite Engine,
has lost its maintainer, and since I had already been using it, I
starting messing with autotools to get it to actually work in the first
place and then had to fix a few issues as I continued. Now that I am
trying to actually distribute my game, I tried using apgcc to build my
libraris, including Kyra, and Kyra won't build, possibly because it is
hardcoding the use of gcc somewhere. I thought that if I could get away
without messing with Kyra again, it would be better just because I plan
on getting rid of Kyra after this project.
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.
I have since found
http://listas.apesol.org/pipermail/sdl-libsdl.org/2008-January/064001.html
which links to Gerry JJ's script: http://delirare.com/files/gensymoverride
Either it isn't currently working, or I must don't understand how to use
it. First I found out that I needed to run it with bash, not sh. Then I
thought that it wasn't producing the output correctly since I kept
seeing what looked like library names flickering on a single line in my
xterm while occasionally seeing a few __asm__ lines. Then I figured out
that those lines WERE the contents of the header file, but a lot of them
would say that certain symbols didn't exist prior to GLIBC_2.4, which
prevented me from using the header in my build.
It seems my only options are to do the work of removing Kyra from my
build, which requires replacing its functionality, or hacking at Kyra to
figure out why apgcc won't build it. Well, I could do the work of
setting up a chrooted environment so I can use older libraries to build
my game, but I am having trouble finding information on doing so. And I
could use an older distro, but besides having to find a spare machine to
run it on, now you're saying that it isn't without its problems.
Thanks,
Gianfranco
--
GBGames' Blog, An Indie Game Developer's Somewhat Interesting Thoughts:
http://www.gbgames.com/blog
Staff Reviewer for Game Tunnel, the Independent Underground:
http://www.gametunnel.com
More information about the SDL
mailing list