On Mon, Oct 16, 2000 at 01:10:03AM -0400, James Antill wrote:
> Daniel Jacobowitz <[EMAIL PROTECTED]> writes:
>
> > On Mon, Oct 16, 2000 at 01:59:11AM +0200, Johannes Zellner wrote:
> > > Hello,
> > >
> > > I cannot link any more against libX11.so:
> > >
> > > /usr/X11R6/lib/libX11.so: undefined reference to `getpwnam_r@@GLIBC_2.0'
> > >
> > > this shows, even if I link a minimal c program.
> > >
> > > my versions:
> > > ii xlib6g 3.3.6-11
> > > ii libc6 2.1.94-3
> > >
> > > Any comments ?
> >
> > To compile against a library built under an old glibc, the library
> > needs to be recompiled to the new libc.
>
> If this is true then there isn't any binary compatibility.
> The whole point of the symbols looking like the above is so that
> there can be multiple versions of them. Eg.
>
> % nm -g /usr/lib/debug/libc-2.1.3.so | egrep GLIB | egrep chown
> 000913c8 T __chown@@GLIBC_2.1
> 000913c8 T chown@@GLIBC_2.1
> 00091454 T [EMAIL PROTECTED]
> % nm -g /usr/lib/debug/libc-2.1.3.so | egrep GLIB | egrep fopen
> 0004b5c4 T _IO_file_fopen@@GLIBC_2.1
> 0004da48 T [EMAIL PROTECTED]
> 000481e0 T _IO_fopen@@GLIBC_2.1
> 0004a9a0 T [EMAIL PROTECTED]
> 000481e0 T fopen@@GLIBC_2.1
> 0004a9a0 T [EMAIL PROTECTED]
>
> So either something bad has happened with the glibc versioning
> upstream or glibc was built badly.
No, you misunderstand symbol versioning.
There is -runtime- compatiblity - the old [EMAIL PROTECTED] is
still there. However, there is no compile-time compatibility - a
library referencing that [EMAIL PROTECTED] can no longer be
linked to. This is, I believe, deliberate. Libraries must be
recompiled to be linked to.
Dan
/--------------------------------\ /--------------------------------\
| Daniel Jacobowitz |__| SCS Class of 2002 |
| Debian GNU/Linux Developer __ Carnegie Mellon University |
| [EMAIL PROTECTED] | | [EMAIL PROTECTED] |
\--------------------------------/ \--------------------------------/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]