[nSLUG] debian libc upgrade

Peter Cordes peter at llama.nslug.ns.ca
Wed Jul 9 18:39:29 ADT 2003

On Wed, Jul 09, 2003 at 03:22:42PM -0300, Bill Davidson wrote:
> Hi:
> I need to run a binary program (i.e., I can't recompile) which was built on a 
> RedHat system, but I need to run it on a Debian (woody) system.  The program 
> was linked against glibc-2.3, while woody uses glibc-2.2.5.  Needless to say, 
> the program won't run.
> If I get the minimum neccessary .deb files (I'm thinking libc6_2.3.1,  
> libdb1-compat_2.1.3, libdb3_3.2.9, libnss-db_2.2) from, say, the sid 
> distribution, and install them using dpkg, well... what's likely to break?


> I have tried this with a "spare" system and so far everything seems OK, but 
> the system I need it on is a production system running a lot of services.  I 
> guess I'm just wondering whether there are any "gotchas" I should watch for, 
> or any other libs/apps I should upgrade too.

 I've been running a mixed woody & unstable system since woody was released,
and I haven't had problems because of API changes in libraries.  Most
packages have versioned dependencies, and Conflicts: dependencies on stuff
that will cause problems.  That keeps you from breaking your system, (as
long as the maintainers get the dependencies right, which they usually do),
but it can sometimes be tricky to figure out what set of upgrades to make if
you want to install or upgrade to an unstable package with dependencies that
are only in unstable.  For example, vorbis-tools in unstable is the 1.0
release, but woody only has 1.0rc3, which doesn't encode as well as 1.0.
There is a libvorbis0 and a libvorbis0a package, and newly recompiled
unstable packages depend on libvorbis0a, but packages from woody depend on
libvorbis0.  The two libvorbis0{,a} packages conflict with each other.  You
sometimes end up having to upgrade a whole lot of stuff to unstable just to
get one thing to work.

 There is one thing about the vorbis library packages that the dependencies
don't quite get right.  The woody packages contained libvorbisfile.so.0, and
the unstable packages have libvorbisfile.so.3.  However, programs seem to
work with either.  (There are probably some API changes, but the programs
I've tried don't seem to have problems.)  To get a couple programs to run
while my system had a mix of old and new vorbis packages, I set up a symlink:
libvorbisfile.so.0 -> /usr/lib/libvorbisfile.so.3, and ran programs like this:
LD_LIBRARY_PATH=~/fakelibs tuxracer

 I don't think I need to do that anymore, though.  I think that might have
been before the 1.0.0-2 vorbis packages, which IIRC introduced the
libvorbis0a package.  I think that forced me to upgrade everything that used
vorbis to the unstable version.  Anyway, that monkey business went away with
the -2 version of the vorbis packages.

 As I said, I've been running a mostly-woody system with an unstable libc6
for a while, but by now a lot of packages are from unstable :).  Still I
didn't see any problems because of it, other than bugs in individual
packages like one would expect from it being "unstable".

#define X(x,y) x##y
Peter Cordes ;  e-mail: X(peter at llama.nslug.n , s.ca)

"The gods confound the man who first found out how to distinguish the hours!
 Confound him, too, who in this place set up a sundial, to cut and hack
 my day so wretchedly into small pieces!" -- Plautus, 200 BC

More information about the nSLUG mailing list