OBSOLETA
TÍTULO: Cómo crear e instalar XFree86 a partir de su código fuente
VERSIÓN LFS: Cualquiera
AUTOR: Sergey Ostrovsky <sostrovsky@snip.net>
TRADUCTOR: Proyecto LFS-ES
SINOPSIS: ver TÍTULO.
RECETA:
ver 1.5
02 FEB 2002
Seth W. Klein <sk@sethwklein.net>
- Se eliminan los espacios "^OPT^" ya que la gente olvidaba sustituirlos
y enviaba los errores que se generaban a las listas de correo.
- Se añaden notas describiendo los lugares en los que pueden elegirse opciones
(flags) para optimización.
- Se cambia este registro de modificaciones (ChangeLog) para usar un formato
de fechas no ambiguo.
ver 1.4
25 ENE 2001
INDICE
1. Introducción
2. Paquetes a descargar
3. Instalación de los paquetes
3.1 Zlib
3.2 XFree86 principal
3.3 Documentación XFree86
3.4 Activar soporte TTF.
3.4.1 Librería FreeType
3.4.2 Herramienta Ttmkfdir
3.4.3 Configuración TTF
1. Introducción
------------
Esta es una guía breve de instalación de XFree86-4.02. No
cubre la configuración de X11, ya que la documentación que
acompaña a X11 es completa y suficiente.
Para aquellos que estén interesados en instalar tan sólo
X11, la sección 3.2 - "XFree principal" debería bastar. Sólo
tendrían que descargar X401src-[1-3].tgz.
A partir de la v4.0, XFree86 permite soportar tipos TrueType
sin emplear un servidor de tipos adicional y aquí encontrarás
el modo de activar esta opción. Esta parte se basa en el
excelente documento "XFree86 Font Deuglification HOWTO", que
puede encontrarse en www.linuxdoc.org, y que conviene leer.
Supondré que cada paquete se ha desempaquetado en algún lugar
(si no se especifica dónde hacerlo) y que el directorio actual
es aquel en el que reside el árbol del código fuente ya
desempaquetado. Del mismo modo, hay que hacer notar que en lugar
de una órden tal como
tar -xzpvf blah.tar.gz
debe emplearse
tar -xzpvf <El camino (Path) en que reside tu Blah>/blah.tar.gz
Algunas instrucciones hacen referencia a flags de optimización. Si
bien pueden aportar pequeñas ventajas en prestaciones, mucha gente
las usa. Para más información, ver la Guía de Optimización en
http://hints.linuxfromscratch.org/hints/optimization.txt
Sergey Ostrovsky
sostrovsky@snip.net
(actualizado, FEB 2002, Seth W. Klein <sk@sethwklein.net>)
2. Paquetes a descargar
--------------------
zlib-1.1.3.tar.gz
ftp://ftp.uu.net/graphics/png/src
X402src-1.tgz
X402src-2.tgz
X402src-3.tgz
ftp://ftp.xfree86.org/pub/XFree86/4.0.2/source/
Xdoc.tgz
Xhtml.tgz
Xps.tgz
Xman.tgz
ftp://ftp.xfree86.org/pub/XFree86/4.0.2/binaries/Linux-ix86-glibc22/
freetype-1.3.1.tar.gz
http://freetype.sourceforge.net/download.html#freetype1
ttmkfdir.tar.gz
http://www.joerg-pommnitz.de/TrueType/xfsft.html
3. Instalación de los paquetes
---------------------------
3.1 Zlib
----
Aunque el conjunto de XFree86 incluye zlib, vamos a configurarlo
de modo que la zlib de XFree86 no se emplee.
La razón consiste en que hay versiones más recientes de zlib.
Por lo tanto, si tu sistema ya tiene instaladas las librerías zlib,
puedes ignorar esta sección. Si no es el caso, instálalas ahora.
3.1.1
Busca en Makefile.in la directiva
$(SHAREDLIB).$(VER):
En ésta y las líneas siguientes, verás
$(OBJS). Inserta $(OBJA) en esas dos líneas tras cada aparición
de $(OBJS), de modo que quede
$(OBJS) $(OBJA)
3.1.2
El subdirectorio ./contrib consta a su vez de varios subdirectorios,
uno para cada arquitectura particular de procesador, por ejemplo asm586,
y así sucesivamente.
Allí se encuentran ficheros con código fuente en ensamblador para
funciones que son críticas en su velocidad de ejecución.
Ejecuta
cp -v contrib/< directorio correspondiente a la arquitectura de tu
procesador >/match.S ./
3.1.3
La opción "-O2" puede sustituirse por la opción de optimización que
prefieras.
Ejecuta
CFLAGS="-DASMV -O2" \
./configure \
--prefix=/usr \
--shared
OBJA=match.o make -e
make install
3.1.4
Acabamos de crear e instalar las librería compartidas. Algunos paquetes
necesitan también las librerías estáticas, por lo que es razonable crearlas
a continuación.
Repite las etapas 3.1.1 - 3.1.3, omitiendo en este caso "--shared" in 3.1.3.
3.1.5
Ejecuta
cp -va zlib.3 /usr/share/man/man3
3.2 XFree86 main
------------
3.2.1
Ejecuta
cp config/cf/xf86site.def config/cf/host.def
3.2.2
El fichero config/cf/host.def contiene un conjunto de definiciones que se
encuentran comentadas. Elige los valores adecuados descomentando aquellas
que resulte oportuno (o teclea todo de nuevo) de acuerdo con las
definiciones. Los drivers de algunas tarjetas de vídeo, o los que dan
acceso a algunos aspectos técnicos determinados pueden exigir que se los
enlace con libdl.so.
Si es tu caso, añade '-ldl' a DefaultGcc2i386Opt (más abajo).
---
Nota de editor: Recuerda que estás editando una cabecera en C, y que los
comentarios tienen este aspecto:
/* comment */
en lugar de este otro:
# comment
Es decir, no quites los '#' a principio de línea y limítate a borrar la linea
que contiene "*/" tras la sentencia #define y añadir un '/' después del '*'
antes de un #define.
De nuevo, puedes cambiar la opción "-O2" por aquella opción de optimización
que prefieras.
---
#define DefaultGcc2i386Opt -O2 -fno-strength-reduce -pipe -ldl
#define DefaultCCOptions -Wall
#define TermcapLibrary -lncurses
#define XF86CardDrivers /* Here list your driver(s) */
#define XInputDrivers mouse void
#define InstallXinitConfig YES
#define InstallXdmConfig YES
#define InstallFSConfig YES
#define BuildSpecsDocs YES
#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv i18n xterm
#define BuildAllSpecsDocs YES
3.2.3
en el fichero config/cf/site.def
busca
#ifndef SiteIConfigFiles
#define SiteIConfigFiles $(IRULESRC)/xf86site.def $(IRULESRC)/host.def
#endif
e inserta tras él
#ifndef HasZlib
#define HasZlib YES
#endif
#ifndef HasNCurses
#define HasNCurses YES
#endif
3.2.4 Ejecuta
make World
make install
make install.man
Inserta en /etc/ld.so.conf
/usr/X11R6/lib
y ejecuta ldconfig
3.2.5 Ahora configura X11. Consulta la documentación sobre cómo lanzar y usar
xf86config.
3.3 Documentación de XFree86
------------------------
La calidad de la documentación, en lo que respecta a su instalación, deja
bastante que desear.
Unos cuantos ficheros no se instalan, o no se convierten bien desde su
formato original al de destino - .html, .ps, etc.
Es por eso por lo que los que estén interesados en la documentación pueden
querer reinstalarla según el método siguiente:
3.3.1
Ejecuta
cd /usr/X11R6
rm lib/X11/doc/*
tar -xzpvf Xdoc.tgz
rm lib/X11/doc/html/*
tar -xzpvf Xhtml.tgz
rm lib/X11/doc/PostScript/*
tar -xzpvf Xps.tgz
rm -r man/*
tar -xzpvf Xman.tgz
3.4 Activar soporte TTF
---------------------
Para usar los tipos TrueType es necesario no sólo los tipos sino también
una serie de ficheros auxiliares que el servidor X utiliza como "listados
de directorio" para los tipos ttf que se hayan instalado. Uno de estos
ficheros, fonts.scale, puede crearse mediante la herramienta ttmkfdir, que
no se incluye en el paquete XFree86-4.02.
A su vez, ttmkfdir exige la instalación del paquete freetype-1.x.x.
Sin embargo, dado que la imagen tar (tarball) de ttmkfdir incluye un
ejecutable ya compilado, podría usarse dicho ejecutable. En ese caso, uno
puede decidir pasar de largo tanto sobre la instalación de la librería
freetype-1.3.1 como de la creación de ttmkfdir.
3.4.1 Librería FreeType
-----------------
Ejecuta
./configure --prefix=/usr/local
make
make install
3.4.2 Herramienta Ttmkfdir
--------------------
3.4.2.1 Haz los cambios siguientes en Makefile
FREETYPE_INCL = $(FREETYPE_BASE)/include/freetype
FREETYPE_LIB = -L$(FREETYPE_BASE)/lib -lttf
3.4.2.2 Ejecuta
make FREETYPE_BASE=/usr/local
install -m755 ttmkfdir /usr/local/bin
3.4.3 Configuración TTF
-----------------
3.4.3.1 Crea el directorio /usr/X11R6/lib/X11/fonts/ttf.
Copia los tipos .ttf que quieras a ese directorio.
3.4.3.2 Ejecuta
cd /usr/X11R6/lib/X11/fonts/ttf
ttmkfdir -o fonts.scale
mkfontdir
3.4.3.3 Indica que módulo debe usar el servidor X para la gestión de tipos de
letra en la sección "Module" de tu fichero XF86Config:
Section "Module"
Load "freetype"
Load "speedo"
EndSection
y la ruta (path) al directorio de tipos que emplees :
Section "Files"
FontPath "/usr/X11R6/lib/X11/fonts/ttf"
EndSection
Ten en cuenta que sólo indicamos qué tienes que añadir.
Ahora tu servidor X será capaz de visualizar tipos TrueType.
|