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. > >