Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > by-pkgid > 48e6004f7274ccc2095a5ab8f2460dd2 > files > 22

mandrake-doc-es-10.0-5.1.100mdk.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Introducción</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Guía de Referencia"><link rel="up" href="install-free-software-chapter.html" title="Capítulo 12. Compilando e instalando
  software libre"><link rel="previous" href="install-free-software-chapter.html" title="Capítulo 12. Compilando e instalando
  software libre"><link rel="next" href="decompression.html" title="Descompresión"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Introducción</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="install-free-software-chapter.html">Anterior</a> </td><th width="60%" align="center">Capítulo 12. Compilando e instalando
  software libre</th><td width="20%" align="right"> <a accesskey="n" href="decompression.html">Siguiente</a></td></tr></table><hr></div><div class="sect1" lang="es"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2559019"></a>Introducción</h2></div></div><div></div></div><p><a name="BId-install-free-software-chapter-pa3"></a>Lo que
   hace la diferencia entre el software libre y el software
   propietario es el acceso al código fuente del
   software<sup>[<a name="id2559044" href="#ftn.id2559044">32</a>]</sup>. Eso
   significa que el software libre se distribuye como archivos de
   ficheros fuente. Esto puede resultar poco familiar a los
   principiantes, porque los usuarios de software libre deben compilar
   ellos mismos los fuentes antes de poder usar el software.</p><p><a name="BId-install-free-software-chapter-pa5"></a>Hay versiones
   compiladas de la mayoría del software libre existente. El usuario
   apurado no tiene más que instalar estos binarios precompilados.
   Sin embargo, algún software libre no se distribuye bajo esta forma,
   o las versiones más recientes todavía no se distribuyen en forma
   binaria. Más aun, si usa un sistema operativo exótico o una
   arquitectura exótica, un montón de software no va a estar ya
   compilado para Usted. Es más, compilar el software uno mismo
   permite conservar sólo las opciones interesantes o extender las
   funcionalidades del mismo agregando extensiones para obtener un
   software que responde perfectamente a sus necesidades.</p><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2559100"></a>Requisitos</h3></div></div><div></div></div><p><a name="BId-install-free-software-chapter-pa6"></a>Para compilar
    software, necesitará:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-install-free-software-chapter-pa7"></a>una computadora con
     un sistema operativo funcionando;</p></li><li><p><a name="BId-install-free-software-chapter-pa8"></a>conocimiento general
     del sistema operativo que Usted usa;</p></li><li><p><a name="BId-install-free-software-chapter-pa9"></a>algo de espacio en
      su disco rígido;</p></li><li><p><a name="BId-install-free-software-chapter-pa10"></a>un compilador
      (generalmente para el lenguaje <tt class="systemitem">C</tt>) y un archivador
      (<span><b class="command">tar</b></span>);</p></li><li><p><a name="BId-install-free-software-chapter-pa11"></a>algo de comer (en
      los casos difíciles, puede durar un tiempo largo) Un verdadero
      hacker come pizza, no tornillos;</p></li><li><p><a name="BId-install-free-software-chapter-pa12"></a>algo de beber (por
      las mismas razones) Un verdadero hacker bebe cola con gas
      – por la cafeína;</p></li><li><p><a name="BId-install-free-software-chapter-pa13"></a>el número de
      teléfono de su “<span class="quote">gurú</span>” tecnológico, ese que
      recompila el núcleo todas las semanas;</p></li><li><p><a name="BId-install-free-software-chapter-pa14"></a>pero por sobre
     todo, paciencia, ¡y mucha!</p></li></ul></div><p><a name="BId-install-free-software-chapter-pa15"></a>Compilar desde el
    código fuente generalmente no presenta muchos problemas, pero si
    Usted no está acostumbrado, el menor tropiezo lo puede poner en
    una posición dificultosa o puede hacer que desista. El propósito
    de este documento es precisamente mostrarle como escapar de tal
    situación.</p></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2559269"></a>Compilación</h3></div></div><div></div></div><div class="sect3" lang="es"><div class="titlepage"><div><div><h4 class="title"><a name="id2559281"></a>Los principios</h4></div></div><div></div></div><p><a name="BId-install-free-software-chapter-pa16"></a>Para poder traducir
     un código fuente a un fichero binario, es necesario efectuar una
     <a name="BId-install-free-software-chapter-gt1" href="glossary.html#term-compilation"><i class="glossterm">compilación</i></a>. Esta se hace
     generalmente sobre programas escritos en lenguaje <tt class="systemitem">C</tt> o
     <tt class="systemitem">C++</tt> (que son los lenguajes más usados en la comunidad de
     software libre, notablemente en el mundo <span class="application">UNIX</span>) Ciertos
     software libres están escritos en lenguajes que no necesitan
     compilación (por ejemplo <span class="application">perl</span> o el shell), pero aún así,
     estos necesitan algo de configuración.</p><p><a name="BId-install-free-software-chapter-pa17"></a>Lógicamente, la
     compilación <tt class="systemitem">C</tt> está hecha por un compilador <tt class="systemitem">C</tt> que
     por lo general es <span><b class="command">gcc</b></span>, el compilador libre escrito por el
     <a href="http://www.gnu.org/" target="_top">proyecto <span class="acronym">GNU</span></a>. La
     compilación de todo un paquete de software es una tarea compleja,
     que pasa por la compilación satisfactoria de ficheros fuente
     diferentes (para el programador es más fácil poner las diferentes
     partes de su trabajo en ficheros separados, por varios motivos)
     Para hacer más fácil esta tarea, estas operaciones repetitivas
     son efectuadas por un utilitario denominado <span><b class="command">make</b></span>.</p></div><div class="sect3" lang="es"><div class="titlepage"><div><div><h4 class="title"><a name="steps"></a>Las cuatro fases de la compilación</h4></div></div><div></div></div><p><a name="BId-install-free-software-chapter-pa18"></a>Para comprender como funciona la compilación (para
     poder resolver posibles problemas), uno tiene que conocer las
     fases involucradas. El objetivo es convertir poco a poco un texto
     escrito en un lenguaje comprensible por un ser humano entrenado
     (por ejemplo, el lenguaje <tt class="systemitem">C</tt>), a un lenguaje comprensible
     por una máquina (o por un ser humano <span class="emphasis"><em>muy</em></span>
     entrenado, aunque sólo en casos raros). <span><b class="command">gcc</b></span> ejecuta cuatro
     programas uno tras otro, cada uno de los cuales se encarga de una
     etapa:</p><div class="orderedlist"><ol type="1"><li><p><a name="BId-install-free-software-chapter-pa19"></a><span><b class="command">cpp</b></span>: la
       primera etapa consiste en reemplazar las directivas (<a name="BId-install-free-software-chapter-gt2" href="glossary.html#term-preprocessors"><i class="glossterm">preprocesadores</i></a>) por
       instrucciones <tt class="systemitem">C</tt> puras. Típicamente, esto significa
       insertar un fichero de encabezado o
       <span class="foreignphrase"><i class="foreignphrase">header</i></span>
       (<tt class="literal">#include</tt>), o definir una función macro
       (<tt class="literal">#define</tt>) Al final de esta fase, se genera
       código <tt class="systemitem">C</tt> puro.</p></li><li><p><a name="BId-install-free-software-chapter-pa20"></a><span><b class="command">cc1</b></span>: esta
       fase consiste en convertir el <tt class="systemitem">C</tt> en <a name="BId-install-free-software-chapter-gt3" href="glossary.html#term-assembly-language"><i class="glossterm">lenguaje
       ensamblador</i></a>. El código generado depende de la
       arquitectura de destino.</p></li><li><p><a name="BId-install-free-software-chapter-pa21"></a><span><b class="command">as</b></span>:
       esta fase consiste en generar el <a name="BId-install-free-software-chapter-gt4" href="glossary.html#term-object-code"><i class="glossterm">código
       objeto</i></a> (o código <a name="BId-install-free-software-chapter-gt5" href="glossary.html#term-binary"><i class="glossterm">binario</i></a>) a partir del lenguaje
       ensamblador. Al final de esta fase, se generará un fichero con
       extensión <tt class="filename">.o</tt>.</p></li><li><p><a name="BId-install-free-software-chapter-pa22"></a><span><b class="command">ld</b></span>: la
	última fase (la “<span class="quote">edición de vínculos</span>”, en inglés
	<span class="foreignphrase"><i class="foreignphrase">linkage</i></span>) ensambla (o <a name="BId-install-free-software-chapter-gt6" href="glossary.html#term-linkage"><i class="glossterm">vincula</i></a>) todos los ficheros
	objeto (<tt class="filename">.o</tt>) y las bibliotecas asociadas,
	y produce un fichero ejecutable.</p></li></ol></div></div></div><div class="sect2" lang="es"><div class="titlepage"><div><div><h3 class="title"><a name="id2559675"></a>La estructura de una
    distribución</h3></div></div><div></div></div><p><a name="BId-install-free-software-chapter-pa23"></a>Una distribución de
    software libre correctamente estructurado siempre tiene la misma
    organización:</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-install-free-software-chapter-pa24"></a>Un fichero
      denominado <tt class="filename">INSTALL</tt>, que describe el proceso
      de instalación.</p></li><li><p><a name="BId-install-free-software-chapter-pa25"></a>Un fichero
      denominado <tt class="filename">README</tt>, que contiene información
      general relacionada con el programa (descripción breve, autor,
      la <span class="acronym">URL</span> desde donde se puede bajar, documentación relacionada,
      vínculos útiles, etc) Si falta el fichero
      <tt class="filename">INSTALL</tt>, generalmente el fichero
      <tt class="filename">README</tt> contiene una descripción breve del
      procedimiento de instalación.</p></li><li><p><a name="BId-install-free-software-chapter-pa26"></a>Un
      fichero denominado <tt class="filename">COPYING</tt>, que contiene la
      licencia o describe las condiciones de distribución del
      software. A veces lo reemplaza un fichero denominado
      <tt class="filename">LICENSE</tt>, con el mismo contenido.</p></li><li><p><a name="BId-install-free-software-chapter-pa27"></a>Un fichero
      denominado <tt class="filename">CONTRIB</tt> o
      <tt class="filename">CREDITS</tt> que contiene una lista de las
      personas relacionadas con el software (participación activa,
      comentarios pertinentes, programas de terceros, etc.)</p></li><li><p><a name="BId-install-free-software-chapter-pa28"></a>Un fichero
      denominado <tt class="filename">CHANGES</tt> (o, con menor
      frecuencia, <tt class="filename">NEWS</tt>, que contiene las mejoras
      y las correcciones de los <span class="foreignphrase"><i class="foreignphrase">bugs</i></span>
      (errores en el software).</p></li><li><p><a name="BId-install-free-software-chapter-pa29"></a>Un fichero
      denominado <tt class="filename">Makefile</tt><a class="indexterm" name="BId-install-free-software-chapter-it1"></a> (consulte
      la sección <a href="install-free-compilation.html#make" title="Make">“Make”</a>), que permite compilar el
      software (es un fichero que necesita <span><b class="command">make</b></span>). Generalmente
      este fichero no existe al principio y se genera durante el
      proceso de configuración.</p></li><li><p><a name="BId-install-free-software-chapter-pa30"></a>Bastante seguido, un fichero
      <tt class="filename">configure</tt> o <tt class="filename">Imakefile</tt>,
      que permitirá generar un fichero <tt class="filename">Makefile</tt>
      nuevo personalizado para un sistema en particular (consulte
      <a href="install-free-config.html" title="Configuración">“Configuración”</a>).</p></li><li><p><a name="BId-install-free-software-chapter-pa31"></a>Un directorio que
      contendrá los fuentes, y donde generalmente se almacena el
      fichero binario al final de la compilación. Por lo general, este
      directorio se denomina <tt class="filename">src</tt>.</p></li><li><p><a name="BId-install-free-software-chapter-pa32"></a>Un directorio que
      contiene la documentación relacionada con el programa
      (generalmente en formato <span><b class="command">man</b></span> o en formato
      <tt class="systemitem">Texinfo</tt>), cuyo nombre es, por lo general,
      <tt class="filename">doc</tt>.</p></li><li><p><a name="BId-install-free-software-chapter-pa33"></a>Eventualmente, un
      directorio que contiene los datos propios del programa
      (típicamente, los ficheros de configuración, los ejemplos de los
      datos producidos, o ficheros de recursos)</p></li></ul></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2559044" href="#id2559044">32</a>] </sup>Esto no es completamente
   cierto ya que ya que algunos software propietarios también ofrecen
   su código fuente. Pero, a diferencia de lo que ocurre con el
   software libre, el usuario final no puede usar o modificar el
   código fuente de la manera que él desee.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="install-free-software-chapter.html">Anterior</a> </td><td width="20%" align="center"><a accesskey="u" href="install-free-software-chapter.html">Subir</a></td><td width="40%" align="right"> <a accesskey="n" href="decompression.html">Siguiente</a></td></tr><tr><td width="40%" align="left" valign="top">Capítulo 12. Compilando e instalando
  software libre </td><td width="20%" align="center"><a accesskey="h" href="index.html">Inicio</a></td><td width="40%" align="right" valign="top"> Descompresión</td></tr></table></div></body></html>