Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 1999 10:07:32 +0100
From:      Marcel Moolenaar <marcel@scc.nl>
To:        emulation@FreeBSD.ORG
Subject:   Re: glibc2?
Message-ID:  <36D512D4.7C2F907D@scc.nl>
References:  <36CC7204.A152046C@utcorp.com>, <36D44371.700531E2@utcorp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Kurt Seel wrote:

>  This is what tech support at scriptics had to say:

> > Based on the output you sent, it does not appear that TclPro would work since
> > you do not have glibc2 installed. Here is the output I get when I do ldd on my
> > system (RedHat 5.0 kernel 2.0.33):
> >
> > /tclpro1.2 > ldd ./pwlin
> >         libutil.so.1 => /lib/libutil.so.1 (0x40003000)
> >         libdl.so.2 => /lib/libdl.so.2 (0x40006000)
> >         libm.so.6 => /lib/libm.so.6 (0x40009000)
> >         libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40022000)
> >         libc.so.6 => /lib/libc.so.6 (0x400b9000)
> >         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)
> >

Do you have those libraries?
Does your /compat/linux/etc/ld.so.conf contains /usr/X11R6/lib?
What does '/compat/linux/sbin/ldconfig -p' show?

> I am not that well versed in shared libs (I just write, compile, link and
> run my code).
> But I can follow directions pretty well ...

:-)

> What does this incantation of 'ldd' mean? And how does the output indicate
> the
> presense of glibc2? I only see libc.so.6.

ldd prints the list of dependencies, i.e. shared libraries the binary needs
in order to resolve the external references. You can check your installation
for those libraries, and if you do have them, you can run the binary. But
this is only half the story: The binary must be able to find the libraries,
since only the name is stored in the binary. This is where ldconfig,
ld.so.conf, ld.so.cache and LD_LIBRARY_PATH comes in.
ld.so.conf tells ldconfig where to look for libraries besides /lib and
/usr/lib. ld.so.cache caches information found when ldconfig has been run,
which is used by the binary to locate libraries. LD_LIBRARY_PATH is an envvar
to tell the binary where to look for libraries, besides information found in
ld.so.cache.

To answer the second question: libc.so.6 and libm.so.6 are part of glibc2.
The "old" libc5 is normally (when you have glibc2) located under
/usr/<arch>-<os>-libc5/lib (ie i486-linux-libc5). There you will find
libc.so.5 and libm.so.5 (among other goodies :-)
If you don't have /lib/libc.so.6, then you probably should have
/lib/libc.so.5, which means you don't have glibc2, I guess.

marcel


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-emulation" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36D512D4.7C2F907D>