Rob van der Heij wrote:

>The linker in Linux works in that it includes the full name with version numbers of
>the glibc library in the reference, even though the calls to that runtime library
>might work even with an older level of the libraries. Much is upwards compatible.

This is true for typical C libraries, in particular for glibc, which takes
great pains to stay upwards compatible under any circumstances.  This is why
using old programs with a new glibc will work completely automatically,
without the need for either old libraries or symlinks.  (If you do notice
problems in such a situation, please report them as bugs!)

However, the problem that DB/2 and others have is that they depend on *C++*
libraries, in particular libstdc++.  Here, the situation is completely
different: not only did the library API change in an incompatible way,
but the C++ ABI itself, i.e. the way how the compiler implements C++
objects on a low level changed (also in an incompatible way).

This was not an accident, but done deliberately, and this is the reason
why the library name was changed in such a way that the dynamic linker
will *not* assume the new library is an upwards-compatible version of
the old one, and won't use it automatically instead.  Please do *not*
use symlinks to evade that safety measure!

>It is very easy to get confused by the different versions of SuSE SLES7 that can be
>downloaded or will be given to customers with a maintenance contract. The IBM person
>who suggested you already have the compat.rpm is probably confused.

The 7-CD developer's edition -which the original poster said he had-
definitely contains the compat.rpm.  There's no need to reinstall the
complete system, just install the one missing RPM.  (I think it's on
the first of the extra CDs, but I'm not sure -- if you really don't
find it, I'd suggest to ask SuSE support ...)

B.t.w. I don't think there are different versions of the compat.rpm, in fact
as far as I know in all versions of SLES-7 the compat.rpm simply contains
an identical copy of libstdc++ from the old SuSE 7.0.  (If you still have
a SuSE 7.0 installed somewhere, you could also just copy that library.)

Bye,
Ulrich

--
  Dr. Ulrich Weigand
  [EMAIL PROTECTED]

Reply via email to