Distcc es un programa diseñado para distribuir tareas de compilación
a través de la red hacia máquinas participantes. Consiste en un servidor,
>=sys-apps/portage-2.0.46-r11 >=sys-devel/gcc-config-1.3.1 >sys-apps/shadow(A partir de la versión 2.8) Y las siguientes dependencias opcionales cuando tiene >=x11-libs/gtk+-2.2.1gtk en los indicadores de suUSE
Configurar distcc es fácil de hacer con Portage. Siga estos sencillos pasos en cada ordenador donde desee usar distcc:
# emerge distcc # nano -w /etc/make.confEdite su variable FEATURES para incluir el indicador "distcc"
Seguidamente deberá especificar qué máquinas quiere usar. Para hacer esto puede usar el comando distcc-config para indicar la lista de máquinas. Aquí hay un ejemplo de lista:
192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.1/2 192.168.0.2 192.168.0.3/10 192.168.0.1:4000/2 192.168.0.2/1 192.168.0.3:3632/4 @192.168.0.1 @192.168.0.2:/usr/bin/distccd 192.168.0.3
Puede parecer complicado, pero en la mayoría de los casos una
variante de la línea 1 o de la 2 es suficiente. La explicación
de cada línea es: La línea 1 es una lista de máquinas separadas por
espacios que lo usarán todo por defecto. La línea 2 es una lista
de máquinas que especifica el número máximo de trabajos (mediante el
uso de /N) a enviar a dicha máquina al mismo tiempo. Como la
mayoría de la gente no necesitará usar las líneas 3 ó 4, le remito
a la
El paso final para integrar distcc en Portage es reabrir su
# nano -w /etc/make.conf MAKE_OPTS=-jN
Esto es en algunos casos más facil de configurar que con Portage. Lo que
debe hacer es actualizar su variable de entorno
# export PATH="/usr/lib/ccache/bin:/usr/lib/distcc/bin:${PATH}"
Entonces, así como normalmente escribiría
La Compilación Cruzada consiste en usar una determinada arquitectura para construir programas para otra arquitectura. Esto puede ser tan simple como usar un Athlon (i686) para realizar un programa para un K6-2 (i586), o usar un Sparc para realizar un programa para un ppc.
Me encanta poder ayudar en Gentoo en sus esfuerzos sobre la
Compilación Cruzada, pero no dispongo de ninguna máquina que
no sea una x86. Puedo crear cosas que funcionen
En un futuro próximo espero adquirir un Sparc de algún tipo para instalarle Gentoo de manera que pueda experimentar directamente sobre el terreno.
El título, en realidad, no es el más apropiado. Lo único que no funciona
es el programa de monitorización (
La solución es aplicar un parche que cambie la dependencia
a
También habrá observado que distcc no funciona con algunos paquetes.
Esto puede estar motivado por muchas cosas, como un error en el .ebuild
(por usar
Cuando hace emerge sobre varios paquetes, observará que no están siendo distribuidos (y de hecho no se están construyendo en paralelo). Esto es debido a que los desarrolladores de los .ebuild de Mozilla y XFree han deshabilitado la compilación en paralelo porque es sabido que causa problemas. Esto no es necesariamente un problema de distcc.
Eso no significa que a veces distcc no provoque que un paquete falle al compilar.
Distcc viene con dos monitores. El basado en texto siempre es construido
y llamado
El otro monitor sólo se activará si se habilita el indicador
Una advertencia a la hora de usar estos programas. Si desea monitorizar cualquier emerge, deberá iniciar el monitor como sigue:
# sudo -u portage distccmon-text NO puede iniciar el monitor grafico... # sudo -u portage distccmon-gnome
El script en perl está almacenado