[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