This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Re: Symbol versioning question
- To: dunham@cse.msu.edu (Steve Dunham)
- Subject: Re: Symbol versioning question
- From: hjl@lucon.org (H.J. Lu)
- Date: Sun, 20 Dec 1998 11:03:40 -0800 (PST)
- Cc: drepper@cygnus.com, libc-alpha@cygnus.com
>
> Ulrich Drepper <drepper@cygnus.com> writes:
>
> > Steve Dunham <dunham@cse.msu.edu> writes:
> >
> > > A typical example is that it claims it can't find the symbol
> > > "_popen@GLIBC_2.0" referenced by libgpm.so, where libc contains both
> > > GLIBC_2.1 and GLIBC_2.0 versions of the symbol.
>
> > There never was a symbol _popen. If you want answers you have to be
> > accurate.
>
> Sorry, I had replaced the libraries on the machine in question. I've
> reproduced in on another machine, details are below. (The
> architecture is sparc.)
>
> foo.c contains:
>
> main(){}
>
> I compile with:
>
> gcc foo.c -lgpm
>
> and get:
>
> /usr/lib/libgpm.so: undefined reference to `popen@@GLIBC_2.0'
> /usr/lib/libgpm.so: undefined reference to `pclose@@GLIBC_2.0'
>
> This happened after moving from glibc-2.0.100 to glibc-2.0.105.
>
> I'm using binutils 2.9.1.0.15.
>
> "objdump -T /lib/libc-2.0.105.so |grep popen " gives:
>
> 0000000000057dc4 g DF .text 000000000000008c GLIBC_2.1 _IO_popen
> 000000000005a154 g DF .text 000000000000008c (GLIBC_2.0) popen
> 0000000000057dc4 g DF .text 000000000000008c GLIBC_2.1 popen
> 000000000005a154 g DF .text 000000000000008c (GLIBC_2.0) _IO_popen
>
glibc 2.1 is still in beta. I added those popen stuff to fix a bug.
You may have to recompile all the libraries against the new glibc
2.1.
H.J.