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>