|
[03/07]
:. Resumo do dia [03/07] :. Problemas graves com os links da Telefonica em SP [03/07] :. Texas Instruments integra projetor em BlackBarry [03/07] :. Willcom 9: celular pequeno e integrado ao Google [03/07] :. SSDs consomem mais energia que HDs convencionais [03/07] :. Firefox entrou para o Guinness Book [02/07] :. Revista GIMPZINE nº 8 [02/07] :. Os críticos estão errados: o KDE 4 não precisa de um fork [02/07] :. Resumo do dia [02/07] :. Everex preparando Cloudbook de 10,2 polegadas [02/07] :. AMD Phenom de 45 nm poderá suportar memória DDR3 [02/07] :. Instalando o VMWare Workstation 6.x no Mandriva Linux [01/07] :. Um ano de GPLv3: estudos sobre a adoção da licença [01/07] :. Google e MPF entram em acordo sobre pedofilia no Orkut [01/07] :. Fotos do Eee Monitor: o 'iMac' da Asus :. Mais noticias » |
Com 5 micros de configuração similar, a compilação usando o distcc é realizada em aproximadamente 1/4 do tempo. Ele é usado pelos desenvolvedores de muitos projetos para diminuir o tempo perdido com cada compilação e assim acelerar o desenvolvimento, sobretudo nas fases de teste. Para usar o distcc não é necessário que todos os micros possuam configuração similar, nem que estejam rodando a mesma distribuição. É recomendável apenas que sejam sempre utilizadas versões similares do distcc em todos, para evitar problemas inesperados. Ele está disponível na maioria das distribuições, procure pelo pacote "distcc". Nas distribuições derivadas do Debian ele pode ser instalado através do apt-get: # apt-get install distcc Naturalmente, você deve instalá-lo em todas as máquinas que serão usadas. Como medida de segurança, mesmo depois de instalado ele fica explicitamente desabilitado no arquivo "/etc/default/distcc". Para ativar, edite o arquivo e mude a opção "STARTDISTCC="false" para: STARTDISTCC="true" A seguir, na opção "ALLOWEDNETS" você deve especificar quais micros poderão usar o servidor, especificando diretamente o IP ou nome de cada um, ou autorizando diretamente toda a faixa de endereços da rede local. Neste caso a opção fica: ALLOWEDNETS="192.168.1.0/24" Concluída a configuração, reinicie o serviço, em todas as máquinas: # /etc/init.d/distcc restart A grosso modo, o distcc trabalha enviando trechos de código para as demais máquinas da rede, juntamente com os parâmetros de compilação necessários e recebe de volta os binários já compilados. Apenas o seu micro precisa ter o código fonte do que está sendo compilado, mas todas as máquinas que forem ser usadas precisam ter os compiladores necessários para compila-lo. Ao instalar o sistema em cada máquina, aproveite para sempre habilitar a categoria de desenvolvimento na seleção dos pacotes. É desejável também que, mesmo que sejam usadas distribuições diferentes, todas as máquinas tenham instaladas versões idênticas ou pelo menos similares do gcc e g++. Na hora de compilar, comece criando a variável "DISTCC_HOSTS" no shell, que especifica quais máquinas da rede serão utilizadas pelo distcc durante a compilação, como em: $ export DISTCC_HOSTS='127.0.0.1 192.168.1.33 192.168.1.100 192.168.1.156' Se preferir, você pode tornar esta configuração permanente, salvando a lista dentro do arquivo ".distcc/hosts", dentro do diretório home do usuário usado nas compilações. Depois de criar a pasta .distcc, você pode usar o comando: $ echo '127.0.0.1 192.168.1.33 192.168.1.100 192.168.1.156' > ~/.distcc/hosts Depois de criada a lista com os hosts, você pode compilar da forma usual, adicionando os parâmetros "-jX CC=distcc" depois do "make", onde o X é o número de jobs simultâneos que serão criados. Ao usar o distcc, uma regra geral é usar 3 jobs por processador, por máquina. Com 4 máquinas monoprocessadas, -j12 é um bom número. Em algumas situações, usar um número maior de jobs pode reduzir um pouco o tempo de compilação e em outras vai simplesmente retardar o processo. No caso da compilação do Kernel, os comandos seriam: $ make -j12 CC=distcc bzImage Note que não usei o distcc no "make modules install", pois ele não envolve compilação, apenas a instalação dos módulos gerados no comando anterior. O mais correto é sempre fazer compilações usando um login de usuário e usar o root apenas para rodar os comandos de instalação. Para fazer isso, é necessário que a conta de usuário tenha sempre permissão de acesso completa à pasta com o código fonte. Se você está compilando o Kernel e o fonte está na pasta "/usr/src/linux/2.6.13/" (que originalmente pertence ao root), você pode pode usar o comando: # chown -R joao.joao /usr/src/linux/2.6.13/ Para transferir a posse da pasta para o usuário joao, grupo joao, de forma que ele possa fazer a compilação sem enfrentar problemas de permissão. » Gostou do texto? Veja nossos livros impressos
|