nice, ahh by the way, santiago no soy novata, soy novato con O :), 

muy buena la explicacion, senti que era necesario conocer eso, porque
he empezado a desarrollar alguito y no tenia bien claro eso, solo
llevo en linux 1 año y dos mese si acaso.

gracias a los que me han ayudado

Bismark

On 5/6/05, Santiago Vila <[EMAIL PROTECTED]> wrote:
> 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