__stderrp problem again with tk83
John Polstra
jdp at polstra.com
Thu May 15 09:01:51 PDT 2003
In article <20030515082750.GC47407 at atrbg11.informatik.tu-muenchen.de>,
Daniel Lang <dl at leo.org> wrote:
>
> maybe to clarify things for me, please answer the following
> question:
>
> On a recent System (FreeBSD 4.8-STABLE #15: Wed Apr 9 10:08:16 CEST 2003),
> is it valid, that an object file from a just compiled source
> contains one of the as-it-seems obsoleted stdin/out symbols?
> In my case the symbol: "__stderrp".
>
> More precisely: can the following code from tkFont.c
> [..]
> fprintf(stderr, "Font %s still in cache.\n",=20
> Tcl_GetHashKey(&fiPtr->fontCache, searchPtr));
> [..]
>
> result in the following (then undefined) symbol:
>
> > atrbg11:/usr/ports/x11-toolkits/tk83/work/tk8.3.5/unix#nm tkFont.o | grep=
> stderrp=20
> > U __stderrp
Yes, it is correct that a freshly-compiled object file contains a
reference to "__stderrp". That is exactly how things should be.
That symbol should be resolved from "/usr/lib/libc.so":
thin$ objdump -T /usr/lib/libc.so | grep __stderrp
0008749c g DO .data 00000004 __stderrp
So either you have an out-of-date libc, or else your application is
finding the wrong version of libc. Figure out why that is, and your
problem will be solved.
John
--
John Polstra
John D. Polstra & Co., Inc. Seattle, Washington USA
"Two buttocks cannot avoid friction." -- Malawi saying
More information about the freebsd-stable
mailing list