RH5.0 libc.5->libc.6 confusion

RH5.0 libc.5->libc.6 confusion

Post by Lawrence Troxle » Sun, 26 Apr 1998 04:00:00

I'm not sure if this is might be a question that I would have better
addressed to RedHat. But, either I haven't found a key documentation file
on my RH5 installation, or I'm just very stupid. I have found the FAQ
under the /usr/doc/glib* directory, but it doesn't seem to address my
following question:

Recently, the majority of the Linux executables I have downloaded, fail at
various points when they are run. For example, a seg-fault may occurr when
some command is accessed from an X menu. I suspect that this may have
something to do with the recent RedHat version which now uses glibc
(libc.6). The reason I suspect this is that I don't recall ever having
problems with pre-compiled executables failing, before this upgrade. Also,
when I do an "ldd" on these executables, I typically notice that both
libc.5 and libc.6 are linked into the same program.

So, my question boils down to, is it ok for a program to link with both
versions of the C library? If this is indeed the problem, then how can I
avoid this or fix it (assuming that source code isn't available).

I can see how this happens. For example, one such executable was linked to
libc.5 (since it predated the glibc change), but links to some library
(X11 for example) which in the new distribution is linked to libc.6. At
least I *think* this is what is happening, although since I am not very
educated about this, I could be wrong.

So any clarification would be appreciated. I am starting to fear that I
can now only use programs where the source code is available and that I
can compile from scratch. But somehow I don't think this can be the case,
otherwise we would be seeing a massive amount of complaints on the
newsgroups ,etc.

I also think that there must be some document somewhere that I haven't
found, that explains all of this. The glibc FAQ is very helpfull, but in
its present form, it's not obvious how it answers my question.




1. libc.a and libc.so, libc.so.1libc.so.2, where is my library?

  I'm trying to compile on a solaris system after doing a fresh os
install with developer bundles and c/c++ WS Pro compilers. /usr/lib
contains libc.so but no libc.a, <whereis libc.a> points to libc.so, but
my makefiles fail because they can't find the correct .a library files.
Where am I going wrong? What's the difference between the two? And, why
doesn't /usr/lib contain all my .a libraries? Any help would be
appreciated. I'm new to solaris development and am having a really hard
time setting up my environment to compile.

Very frustrated,


2. Deinstalling X11 and CDE on AIX 4.2 and AIX4.3

3. libc 2.x, libc 5, libc 6

4. xdm setup

5. Ooops..."libc.2.xx" --> "libc-4.2.xx"

6. dhcpd[50] dhcpStart: ioctl SIOCSIFFLAGS: Resources Temporarily Unavailable

7. problems upgrading libraries - libc-5.0.9 -> libc-5.2.18

8. NIS+ problems

9. upgrading from libc-5.0.9 -> libc-5.2.18 brakes system?

10. SMP LIBC Problems -> OK to thread with LIBC?

11. RH4 --> RH5 Upgrade, (g)libc: What are the issues?

12. wait[34] problem with both libc-5 and libc-6.

13. Why did some of the networking API change between libc.so.5 and libc.so.6?