[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem compiling (gcc? glibc?)



On Mon, 17 Jan 2005 1:23 pm, David wrote:
> On Mon, Jan 17, 2005 at 12:33:58AM +0100, Wim De Smet wrote:
> > On Sat, 15 Jan 2005 13:20:34 -0600, David <dbree@duo-county.com> wrote:
> > > On Sat, Jan 15, 2005 at 02:40:36PM +1300, Andrew Walbran wrote:
> > > > On Sat, 15 Jan 2005 2:23 am, David wrote:
> > >>
> > >> [...]
> > >
> > > I really don't know.  I'm just taking a wild stab, here.  If it were
> > > simply gcc messing up, I'd think that it was something in the gcc
> > > configuration, but the fact that ldd reports the tls directory implies
> > > that it _ought_ to be in your ldconfig setup or the only other
> > > possibility I could come up with would be locales.
> >
> > $ ldd /bin/echo
> >                 libc.so.6 => /lib/tls/libc.so.6 (0xb7ea7000)
> >         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
> > Everything works fine here, so I don't think that's it.
>
> OK, then the next question would be what is causing /lib/tls to be
> searched.  Also, if your system has this and is working then it is set
> up correctly.  Apparently there's something about his that is not right.
>
> IIUC, how the ld library thing works is that all "optional" search path
> are searched for unresolved references and finally /lib itself is
> searched.  Perhaps there are some unresolved references in the /lib/tls/
> directory that are supposed to finally get resolved in the /lib
> directory (or some other)  and for some reason his system is not
> searching there.
It seems to me that for some reason ld-linux and gcc have different ideas of 
where to look. Dynamic linking apparently works at runtime (if it didn't no 
programs would run) but gcc thinks that there are undefined references.

>
> To Andrew:
>
> You might run gcc on a source, and get some names of references that
> don't get resolved and then try to find where they are found in your
> library.  It may be tedious, but the tool to use, I'd think, would be
> objdump.

I'm not quite sure what you mean. Could you please elaborate?

Incidently, running ldd -r on either /lib/libc.so.6 or /lib/tls/libc.so.6 
reports no undefined references.


Andrew Walbran



Reply to: