This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Symbol versioning question


> 
> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]