[Clfs-dev] Glibc / libc.so.6 - Host Requirements?

Joe Ciccone jciccone at gmail.com
Fri Apr 8 19:11:01 PDT 2011


On Wed, 2011-03-02 at 08:08 -0500, Andrew Bradford wrote: 
> I've found that x86_64 Fedora 13 systems store libc.so.6 in the /lib64
> directory and /lib is not a link to /lib64.  This is different than
> expected, as on most other x86_64 distributions (Debian, Ubuntu, RHEL,
> etc) usually /lib is either the real deal (with 32 bit libs inside) or
> a link to /lib64 where 32 bit libraries live in /lib32.  Fedora 13
> seems odd in this way but may not be the only distro to do this.
> 
> Because Fedora 13 x86_64 does this, the version-check.sh script won't
> find libc.so.6 and will look as though glibc isn't installed.  This is
> confusing and misleading.
> 
> This then got me thinking about the Host Requirements version-check.sh
> script.  It checks for glibc by running /lib/libc.so.6 and the
> requirement says to use Glibc no greater than 2.12 (2.5 for embedded,
> which is wrong but easy to fix) but no less than 2.2.5.  There are
> three issues / questions I see with this:
> 
> 1. /lib/libc.so.6 isn't always going to be in /lib even though libc is
> correctly installed. It might be in /lib64/libc.so.6 (as on Fedora 13
> x86_64).

> 
> 2. Does the presence of libc.so.6 really mean that all the correct
> glibc development libraries are actually installed?  I don't think it
> does mainly because Fedora 13 offers not only a package called "glibc"
> but also "glibc-devel" and "glibc-static".  I think all of these are
> needed based on an IRC chat with jipe this past weekend.  If I'm
> right, how can a better check be created to ensure all the correct
> libs are installed?
It's more of a version check rather then a check to make sure all the
versions are installed. 
> 
> 3. Some distributions are moving to EGLIBC instead of regular glibc.
> Although EGLIBC is supposed to be compatible with regular glibc, it's
> not really called out as allowed by the Host Requirements section.
> Should the Host Requirements be updated to allow EGLIBC?
The main book uses eglibc now. The version checks shouldn't have to be
modified for eglibc at all. They use the same version numbers as glibc
as far as I can tell.

Really, the book isn't hard coded to require specificly Glibc, anything
that binutils/gcc can be built against will suffice, EGLIBC, Glibc,
uClibc. We really can't check for all of that, it would just make a
mess. It poses an interesting problem, one I admit had never even
crossed my mind.

-- 
Joe Ciccone




More information about the Clfs-dev mailing list