Bueno, con las explicaciones tan extensas que le estamos dando a una novata
me parece que se puede hacer un l�o. Voy a intentar aclarar algunas cosas.

On Fri, 6 May 2005 [EMAIL PROTECTED] wrote:

> > bueno y ahora que son los glibc?? tengo entendido que son librerias no
> > se bien?? y que tienen que ver con los kernel headers??
> 
> el lenguaje C tiene solamente 27 instrucciones: int, enum, char, void,
> if, for, else, goto, float, double, switch, default, break,
> continue... Casualmente todo lo que sea una funci�n (un nombre seguido
> de parentesis) y que no hayas definido tu, seguramente est� definido
> en glibc.  Si escribes en consola:
> 
> $ info libc
> 
> Tienes informaci�n sobre las libc (glibc=gnu + libc)

Yo dir�a mejor: glibc = GNU libc = la libc de GNU, que es la que usan
normalmente los sistemas basados en Linux (desde que libc es libc6)
y tambi�n es la que usa el Hurd.

> Como el kernel hay que compilarlo con gcc, supongo que tiene que
> existir alguna relaci�n del kernel con el glibc, y hasta aqu� puedo
> seguir leyendo. (supongo que el glibc necesita de las cabeceras del
> kernel para compilarse

Efectivamente.

> y todos los programas en C necesitan glibc para ejecutarse,

Si est�n enlazados din�micamente, es decir, el 99,99%.

> as� que un glibc no coordinado con el correspondiente
> kernel dan pie al desastre m�s grande que uno se puede echar a la
> cara, pero esto son ya conjeturas sin fundamento).

Bueno, hoy en d�a los desastres son escasos. Hay compatiblidad hacia
atr�s. Por ejemplo, la libc de sarge est� seguramente compilada con
las cabeceras de Linux 2.6. De esta forma funcionar� todo tanto si uno
usa Linux 2.4 como si usa Linux 2.6, y no hay que preocuparse de nada.

> P.D: realmente no es necesario saber de estas cosas para usar linux.
> [...]

Completamente de acuerdo. Y para simplificar a�n m�s: Para compilar
pr�cticamente cualquier cosa se necesita el paquete libc6-dev, que a
su vez *ya* depende de un paquete llamado linux-kernel-headers, que ya
contiene unas cabeceras del n�cleo que se suponen estables y que no
hace falta cambiar por otras distintas, incluso si hemos compilado
nuestro propio n�cleo.

Si ves alg�n README o HOWTO que diga que hagas enlaces en /usr/include,
NO HAGAS CASO. Lo que hay en /usr/include deber�a estar siempre bajo
el control del sistema de paquetes, y Debian ya se encarga de que
gcc funcione adecuadamente sin que haya que hacer eso.

Antiguamente libc6-dev inclu�a una colecci�n de cabeceras del n�cleo
que se daban por estables, y desde hace mucho tiempo nadie ha tenido
que tocar cosas en /usr/include como el README de Linux dec�a. Ahora
libc6-dev depende de linux-kernel-headers, pero la recomendaci�n
de no tocar nada en /usr/include sigue siendo la misma.

Responder a