I have developed a commercial 2D animation program,
http://www.plasticanimationpaper.dk. From our website, we offer a
Windows version and a Linux version of our program. We want to make
sure that the Linux version will work on most newer Linux systems
(libc6 I guess).
I'm building the binary on a Mandrake 10.0 32bit system.
Our program makes use of libSDL (http://www.libsdl.org) version 1.2.9
as well as a number of other libraries. To reduce the number of
dependencies, I'm linking statically with as much as I can, and an
'ldd' reveals there's little left that our binary requires from the
target machine:
Output of ldd ./pap
linux-gate.so.1 => (0xffffe000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4002a000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40038000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40041000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40123000)
libaudio.so.2 => /usr/X11R6/lib/libaudio.so.2 (0x40133000)
libasound.so.2 => /usr/lib/libasound.so.2 (0x4014a000)
libdl.so.2 => /lib/libdl.so.2 (0x401f8000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401fb000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x40203000)
libm.so.6 => /lib/tls/libm.so.6 (0x402c3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x402e6000)
libc.so.6 => /lib/tls/libc.so.6 (0x402ef000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40438000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x4044f000)
Most of this stuff is found virtually everywhere, except libaudio! A
number of (potential) customers have complained that they don't have
libaudio, and this is quite frustrating for us.
My questions:
1) How should I solve the libaudio problem? I have no libaudio.a
file so I cannot statically link it into the final binary executable.
Would this dependency go away if I built the program on another Linux
distro? I can't believe it's libSDL itself that needs libaudio?
2) A more general question: to cover "most" newer Linux distros, what
kind of binaries should we support, will libc6 32bit and 64bit be
enough? What about glibc6, is that the same as libc6?
I don't know what information I should provide, but please feel free
to ask for clarification. |