This is the mail archive of the
libc-alpha@cygnus.com
mailing list for the glibc project.
Re: Symbol versioning question
- To: libc-alpha@cygnus.com
- Subject: Re: Symbol versioning question
- From: Steve Dunham <dunham@cse.msu.edu>
- Date: 20 Dec 1998 14:26:06 -0500
- References: <m0zro8i-00038vC@ocean.lucon.org>
hjl@lucon.org (H.J. Lu) writes:
> Steve Dunham <dunham@cse.msu.edu> writes:
> > 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.
I thought this was the case. I just wanted to make sure it was correct
behaviour for "ld" to not see that the "popen@@GLIBC_2.0" symbol was
made available by "libc.so.6". (It essentially was claiming that a
symbol which was there didn't exist.)
I assume there is a technical reason why ld doesn't or shouldn't know
about the existence of the older symbol?
Steve
dunham@cse.msu.edu