InglêsFrancêsEspanhol

Ad


favicon do OnWorks

distcc - Online na Nuvem

Execute distcc no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando distcc que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


distcc - compilador distribuído C/C++/ObjC com extensões distcc-pump

SINOPSE


distcc [COMPILADOR OPÇÕES]

distcc [COMPILADOR OPÇÕES]

[COMPILADOR OPÇÕES]

distcc [DISTCC OPÇÕES]

DESCRIÇÃO


distcc distribui a compilação de código C em várias máquinas em uma rede. distcc
deve sempre gerar os mesmos resultados de uma compilação local, é simples de instalar e
uso, e muitas vezes é muito mais rápido do que uma compilação local.

Esta versão incorpora o distcc simples, bem como um aprimoramento chamado modo de bomba ou
bomba distcc.

Para cada trabalho, distcc em modo simples envia o código fonte pré-processado completo e
argumentos do compilador através da rede do cliente para um servidor de compilação. Na bomba
modo, distcc envia o código-fonte e os arquivos de cabeçalho incluídos recursivamente (excluindo aqueles
dos diretórios de cabeçalho do sistema padrão), para que tanto o pré-processamento quanto a compilação
pode ocorrer nos servidores de compilação. Isso acelera a entrega de compilações por
até uma ordem de magnitude sobre distcc simples.

A compilação é conduzida por uma máquina cliente, que normalmente é a estação de trabalho do desenvolvedor
ou laptop. O cliente distcc roda nesta máquina, assim como o make, o pré-processador (se
o modo de bomba do distcc não é usado), o vinculador e outros estágios do processo de compilação. Qualquer
número de máquinas voluntárias atuam como servidores de compilação e ajudam o cliente a construir o
programa, executando o distccd(1) daemon, compilador C e montador conforme necessário.

distcc pode ser executado em soquetes TCP (na porta 3632 por padrão) ou através de um túnel
comando como ssh(1). Para conexões TCP os voluntários devem executar o distccd(1) demônio
diretamente ou do inetd. Para conexões SSH, o distccd deve ser instalado, mas deve
não estar ouvindo conexões.

As conexões TCP só devem ser usadas em redes seguras porque não há usuário
autenticação ou proteção de código fonte ou objeto. As conexões SSH são normalmente de 25%
mais lento devido à sobrecarga do processador para criptografia, embora isso possa variar muito
dependendo das CPUs, rede e do programa que está sendo construído.

distcc destina-se a ser usado com GNU Make's -j opção, que executa vários compiladores
processos simultaneamente. distcc distribui os trabalhos entre CPUs locais e remotas.
Como o distcc é capaz de distribuir a maior parte do trabalho pela rede, uma maior
nível de simultaneidade pode ser usado do que para compilações locais. Como regra geral, o -j valor
deve ser definido para cerca de duas vezes o número total de CPUs de servidor disponíveis, mas sujeito a
limitações do cliente. Esta configuração permite o máximo de intercalação de tarefas sendo bloqueadas
aguardando disco ou E/S de rede. Observe que o distcc também pode funcionar com outro controle de compilação
ferramentas, como SCons, onde configurações de simultaneidade semelhantes devem ser ajustadas.

A -j configuração, especialmente para grandes valores de -j, deve levar em conta a carga da CPU em
o cliente. Medidas adicionais podem ser necessárias para reduzir a carga do cliente. Por exemplo,
a ligação simultânea deve ser severamente reduzida usando travas auxiliares. O efeito de
outra atividade de construção, como compilação Java ao construir código misto, deve ser
considerado. O --localslots_cpp parâmetro é por padrão definido como 16. Isso limita o
número de processos simultâneos que fazem pré-processamento no modo distcc simples (não-bomba).
Portanto, maior -j valores que 16 podem ser usados ​​sem sobrecarregar um cliente de CPU única
devido ao pré-processamento. Valores tão grandes podem acelerar partes da compilação que não
envolvem compilações em C, mas podem não ser úteis para a eficiência do distcc no modo simples.

Em contraste, usando o modo de bomba e digamos 40 servidores, uma configuração de -j80 ou maior pode ser
apropriado mesmo para clientes de CPU única.

É altamente recomendável que você instale a mesma versão do compilador em todas as máquinas
participando de uma construção. Compiladores incompatíveis podem causar compilação ou link misterioso
falhas.

COMEÇO RÁPIDO


1 Para cada máquina, baixe o distcc, descompacte e instale.

2 Em cada um dos servidores, execute distccd --daemon com --permitir opções para restringir
acesso.

3 Coloque os nomes dos servidores em seu ambiente:
$ export DISTCC_HOSTS='localhost vermelho verde azul'

4 Construir!
$ make -j8 CC=distcc

COMEÇO RÁPIDO PARA DISTCC-BOMBA MODA


Proceda como acima, mas na Etapa 3, especifique que os hosts remotos devem carregar o fardo de
pré-processamento e que os arquivos enviados pela rede devem ser compactados:

$ export DISTCC_HOSTS='--randomize localhost red,cpp,lzo green,cpp,lzo
azul, cpp, lzo'

A --Aleatória A opção impõe um uso uniforme de servidores de compilação. Enquanto você vai conseguir
algum benefício do modo de bomba do distcc com apenas alguns servidores, você obtém benefícios crescentes
com mais CPUs de servidor (até centenas!). Enrole sua compilação dentro do comando pump,
aqui assumindo 10 servidores:

$ bomba distcc make -j20 CC=distcc

COMO PLAIN (SEM BOMBA) DISTCC FUNCIONA


O distcc só executa o compilador e o montador remotamente. Com distcc simples, o
pré-processador deve sempre ser executado localmente porque precisa acessar vários arquivos de cabeçalho em
a máquina local que pode não estar presente, ou pode não ser a mesma, no voluntário. O
o vinculador também precisa examinar bibliotecas e arquivos de objeto e, portanto, deve ser executado localmente.

O compilador e o montador pegam apenas um único arquivo de entrada (a fonte pré-processada) e
produzir uma única saída (o arquivo objeto). distcc envia esses dois arquivos através do
rede e, portanto, pode executar o compilador/assembler remotamente.

Felizmente, para a maioria dos programas que executam o pré-processador é relativamente barato, e o
linker é chamado de relativamente infrequente, então a maior parte do trabalho pode ser distribuída.

distcc examina sua linha de comando para determinar quais dessas fases estão sendo invocadas e
se o trabalho pode ser distribuído.

COMO DISTCC-BOMBA MODA FUNCIONA


No modo de bomba, o distcc também executa o pré-processador remotamente. Para isso, o pré-processador deve
ter acesso a todos os arquivos que teria acessado se estivesse rodando localmente. Dentro
pump mode, portanto, distcc reúne todos os cabeçalhos incluídos recursivamente, exceto o
aqueles que são cabeçalhos padrão do sistema e os envia junto com o arquivo de origem para o
servidor de compilação.

No modo distcc-pump, o servidor descompacta o conjunto de todos os arquivos de origem em um arquivo temporário.
diretório, que contém uma árvore de diretórios que espelha a parte do sistema de arquivos que
é relevante para o pré-processamento, incluindo links simbólicos.

O compilador é então executado a partir do caminho no diretório temporário que corresponde ao
diretório de trabalho atual no cliente. Para encontrar e transmitir as muitas centenas de arquivos
que geralmente fazem parte de uma única compilação, o modo de bombeamento usa uma inclusão incremental
algoritmo de análise. O servidor de inclusão é um programa Python que implementa isso
algoritmo. O comando distcc-pump inicia o servidor de inclusão para que durante todo o build
ele pode responder a consultas de inclusão por comandos distcc.

O servidor de inclusão usa análise estática da linguagem de macro para lidar com
compilação e inclui computados. Ele usa a propriedade que quando um determinado arquivo de cabeçalho tem
já foi analisado para includes, não é necessário fazê-lo novamente se todos os include
opções (-I's) permanecem inalteradas (juntamente com outras condições).

Para compilações grandes, os arquivos de cabeçalho são incluídos, em média, centenas de vezes cada. Com
modo distcc-pump cada um desses arquivos é analisado apenas algumas vezes, talvez apenas uma vez, em vez disso
de ser pré-processado centenas de vezes. Além disso, cada fonte ou arquivo de cabeçalho é agora
compactado apenas uma vez, porque o servidor de inclusão memoriza os arquivos compactados. Como um
resultado, o tempo usado para preparar compilações pode cair em até uma ordem de magnitude
sobre o pré-processamento de distcc simples.

Como o distcc no modo de bomba é capaz de enviar arquivos até cerca de dez vezes mais rápido, crie
a velocidade pode aumentar 3X ou mais para grandes compilações em comparação com o modo distcc simples.

RESTRIÇÕES PARA BOMBA MODA


O uso do modo de bomba requer que o cliente e os servidores usem a versão 3.0 ou posterior do distcc e
distccd (respectivamente).

A análise de inclusão incremental do modo de bomba distc baseia-se na suposição fundamental
que os arquivos de origem e de cabeçalho não sejam alterados durante o processo de compilação. Algumas construções complexas
sistemas, como o do kernel Linux 2.6, não satisfazem totalmente esse requisito. Para
superar esses problemas e outros casos de canto, como caminhos de arquivo absolutos em inclusões, consulte
que o incluir_servidor(1) página do manual.

Outra suposição importante é que a configuração de inclusão de todas as máquinas deve ser
idêntico. Assim, os cabeçalhos no caminho do sistema padrão devem ser os mesmos em todos os servidores
e todos os clientes. Se uma instalação padrão do compilador GNU for usada, esse requisito
aplica-se a todas as bibliotecas cujos arquivos de cabeçalho estão instalados em / usr / include or
/usr/local/incluir/. Observe que a instalação de pacotes de software geralmente leva a
arquivos de cabeçalhos sendo colocados em subdiretórios de qualquer um.

Se essa suposição não for válida, é possível quebrar compilações com distcc-pump
modo, ou pior, para obter resultados errados sem aviso prévio. Atualmente esta condição não é
verificado e está em nossa lista TODO para resolver esse problema.

Uma maneira fácil de garantir que as configurações de inclusão sejam idênticas é usar uma
compilador que define um caminho de pesquisa de sistema padrão restrito a diretórios do
instalação do compilador.

veja a incluir_servidor(1) manual para mais informações sobre sintomas e causas de violações
de suposições do modo distcc-bomba.

OPÇÃO RESUMO


A maioria das opções passadas para distcc são interpretadas como opções do compilador. As seguintes opções
são entendidos pelo próprio distcc. Se qualquer uma dessas opções for especificada, distcc não
invocar o compilador.

--Socorro Exibe instruções resumidas.

--versão
Exibe a versão do cliente distcc.

--show-hosts
Exibe a lista de hosts que o distcc usaria. Consulte a seção Especificações do Host.

--scan-inclui
Exibe a lista de arquivos que o distcc enviaria para a máquina remota, como
computado pelo servidor de inclusão. Esta é uma (sobre)aproximação conservadora da
arquivos que seriam lidos pelo compilador C. Esta opção só funciona no modo bomba.
Consulte a seção "Como funciona o modo de bomba Distcc" para obter detalhes sobre como isso é calculado.

A saída da lista por distcc --scan-inclui conterá uma entrada por linha. Cada
linha contém uma categoria seguida por um caminho. A categoria é uma de FILE, SYMLINK,
DIRETÓRIO, ou SYSTEMDIR:

ARQUIVO indica um arquivo de origem ou arquivo de cabeçalho que seria enviado para o servidor distcc
hospedeiro.

LINK SIMBÓLICO indica um link simbólico que seria enviado para o host do servidor distcc.

DIRETÓRIO indica um diretório que pode ser necessário para compilar a fonte
Arquivo. Por exemplo, um diretório "foo" pode ser necessário devido a uma inclusão do
form #include "foo/../bar.h". Tais diretórios seriam criados no distcc
host do servidor.

SYSTEMDIR indica um diretório de inclusão do sistema, ou seja, um diretório que está no
o caminho de inclusão padrão do compilador, como "/ usr / include"; tais diretórios são
presumido estar presente no host do servidor distcc e, portanto, não seria enviado para o
host do servidor distcc.

-j Exibe o nível de simultaneidade do distcc, conforme calculado a partir da lista de hosts; é o
número máximo de trabalhos pendentes emitidos por este cliente para todos os servidores. Por
padrão será quatro vezes o número de hosts na lista de hosts, a menos que o
A opção /LIMIT foi usada na lista de hosts. Consulte a seção Especificações do Host.

INSTALANDO DISTCC


Existem três maneiras diferentes de chamar distcc, para atender a diferentes circunstâncias:

distcc pode ser instalado sob o nome do compilador real, para interceptar chamadas para
e executá-los remotamente. Este compilador "mascarado" tem a mais ampla compatibilidade
com árvores de origem existentes e é conveniente quando você deseja usar distcc para todos
compilação. O fato de que distcc está sendo usado é transparente para os makefiles.

distcc pode ser anexado às linhas de comando do compilador, como "distcc cc -c hello.c"
ou CC="distcc gcc". Isso é conveniente quando você deseja usar distcc apenas para alguns
compilações ou para experimentá-lo, mas pode causar problemas com alguns makefiles ou
versões do libtool que assumem que $CC não contém um espaço.

Finalmente, distcc pode ser usado diretamente como compilador. "cc" é sempre usado como o
nome do compilador real neste modo "implícito". Isso pode ser conveniente para
uso interativo quando o modo "explícito" não funciona, mas não é realmente recomendado
para novo uso.

Lembre-se que você não deve usar dois métodos para chamar distcc ao mesmo tempo. Se vocês
estiver usando um diretório mascarado, não altere CC e/ou CXX, apenas coloque o diretório mais cedo
no seu CAMINHO. Se você não estiver usando um diretório de máscaras, precisará alterar CC
e/ou CXX, ou modifique o(s) makefile(s) para chamar distcc explicitamente.

MASQUERADING


A idéia básica é criar um "diretório de máscaras" que contenha links do nome de
o compilador real para o binário distcc. Este diretório é inserido antecipadamente no PATH, então
que as chamadas para o compilador são interceptadas e o distcc é executado. distcc então remove
si mesmo do PATH para encontrar o compilador real.

Por exemplo:

# mkdir /usr/lib/distcc/bin
# cd /usr/lib/distcc/bin
# ln -s ../../../bin/distcc gcc
# ln -s ../../../bin/distcc cc
# ln -s ../../../bin/distcc g++
# ln -s ../../../bin/distcc c++

Então, para usar distcc, um usuário só precisa colocar o diretório /usr/lib/distcc/bin no início
o PATH e definir uma lista de hosts em DISTCC_HOSTS ou em um arquivo. distcc irá lidar com o
descansar.

Observe que esse diretório mascarado deve ocorrer no PATH antes do diretório que
contém os compiladores reais com os mesmos nomes, e que quaisquer programas auxiliares que
essas chamadas de compiladores (como as ou ld) também devem ser encontradas no PATH em um diretório
após o diretório de máscaras, pois distcc chama o compilador real com um PATH
valor que tem todo o diretório até e incluindo o diretório de máscaras cortado.

É possível obter um "erro de recursão" no modo mascarado, o que significa que distcc é
de alguma forma encontrando-se novamente, não o compilador real. Isso pode indicar que você tem dois
masquerade diretórios no PATH, possivelmente por ter duas instalações distcc em
locais diferentes. Também pode indicar que você está tentando misturar "mascarado" e
operação "explícita".

Erros de recursão podem ser evitados usando scripts de shell em vez de links. Por exemplo, em
/usr/lib/distcc/bin cria um arquivo cc que contém:

#!/ Bin / sh
distcc /usr/bin/gcc "$@"

Dessa forma, não dependemos do distcc ter que localizar o gcc real investigando
a variável PATH. Em vez disso, o local do compilador é fornecido explicitamente.

USANDO DISTCC COM CACHE


ccache é um programa que acelera a compilação de software armazenando em cache os resultados das compilações.
ccache é normalmente chamado antes de distcc, para que os resultados sejam recuperados de um
cache. Alguma experimentação pode ser necessária para makefiles idiossincráticos para fazer
tudo funciona em conjunto.

O método mais confiável é definir

CCACHE_PREFIX="distcc"

Isso diz ao ccache para executar o distcc como um wrapper em torno do compilador real. ccache ainda usa
o compilador real para detectar atualizações do compilador.

ccache pode então ser executado usando um diretório de máscaras or definindo

CC="cache gcc"

A partir da versão 2.2, o ccache não armazena em cache a compilação da fonte pré-processada e, portanto,
nunca obtenha um acerto de cache se for executado a partir de distccd ou distcc. Deve ser executado apenas no
lado do cliente e antes do distcc para ser de qualquer uso.

O modo de bomba do distcc não é compatível com o ccache.

HOST ESPECIFICAÇÕES


Uma "lista de hosts" informa ao distcc quais máquinas usar para compilação. Em ordem, distcc parece
no $DISTCC_HOSTS variável de ambiente, o usuário $DISTCC_DIR/hosts arquivo, e o
arquivo host de todo o sistema. Se nenhuma lista de hosts puder ser encontrada, o distcc emite um aviso e compila
localmente.

A lista de hosts é uma lista simples de especificações de host separadas por espaços em branco. O mais simples
e a forma mais comum são nomes de host, como

localhost vermelho verde azul

distcc prefere hosts no início da lista, então as máquinas devem ser listadas em
ordem decrescente de velocidade. Em particular, quando apenas uma única compilação pode ser executada (como
a partir de um script de configuração), a primeira máquina listada é usada (mas veja --Aleatória abaixo).

Colocação localhost no ponto certo da lista é importante para obter um bom desempenho.
Como a sobrecarga para executar tarefas localmente é baixa, localhost normalmente deve ser o primeiro.
No entanto, é importante que o cliente tenha ciclos suficientes livres para executar os trabalhos locais e
o cliente distcc. Se o cliente for mais lento que os voluntários, ou se houver muitos
voluntários, então o cliente deve ser colocado mais tarde na lista ou não ser colocado. Como general
regra, se a velocidade agregada da CPU do cliente for inferior a um quinto do total, então
o cliente deve ser deixado de fora da lista.

Se você tiver um grande cluster de compilação compartilhado e um único arquivo de hosts compartilhados, as regras acima
faria com que as primeiras máquinas no arquivo hosts fossem tentadas primeiro, mesmo que elas
provavelmente estarão mais ocupados do que as máquinas mais adiante na lista. Para evitar isso, coloque a palavra-chave
--Aleatória na lista de hosts. Isso fará com que a lista de hosts seja aleatória, o que
deve melhorar um pouco o desempenho para clusters de compilação grandes.

Existem dois nomes de host especiais --localslots e --localslots_cpp que são úteis para
ajustando a carga na máquina local. O --localslots host especifica quantos trabalhos
não pode ser executado remotamente que pode ser executado simultaneamente na máquina local, enquanto
--localslots_cpp controla quantos pré-processadores serão executados em paralelo no local
máquina. Ajustar esses valores pode melhorar o desempenho. A vinculação em grandes projetos pode levar
grandes quantidades de memória. Executando vinculadores paralelos, que não podem ser executados remotamente,
pode forçar a máquina a trocar, o que reduz o desempenho apenas executando os trabalhos em
sequência sem troca. Obtendo o número de pré-processadores paralelos corretamente
permite que você use fatores paralelos maiores com make, já que a máquina local agora tem alguns
mecanismo para medir o uso de recursos locais.

Finalmente, há a entrada do host

O desempenho depende dos detalhes da fonte e dos makefiles usados ​​para o projeto, e
as velocidades da máquina e da rede. Experimentando diferentes configurações para a lista de hosts
e -j fator pode melhorar o desempenho.

A sintaxe é

DISTCC_HOSTS = HOSTSPEC...
HOSTSPEC=LOCAL_HOST | SSH_HOST | TCP_HOST | OLDSTYLE_TCP_HOST
| GLOBAL_OPTION
| ZEROCONF
LOCAL_HOST = localhost[/LIMIT]
| --localslots=
| --localslots_cpp=
SSH_HOST = [USER]@HOSTID[/LIMIT][:COMMAND][OPÇÕES]
TCP_HOST = HOSTID[:PORTA][/LIMIT][OPÇÕES]
OLDSTYLE_TCP_HOST = HOSTID[/LIMIT][:PORT][OPÇÕES]
HOSTID = NOME DO HOST | IPV4 | IPV6
OPÇÕES = ,OPÇÃO[OPÇÕES]
OPÇÃO = lzo | cpp
GLOBAL_OPTION = --randomizar
ZEROCONF = +zeroconf

Aqui estão alguns exemplos individuais da sintaxe:

localhost
A palavra literal "localhost" é interpretada especialmente para fazer com que as compilações sejam
executado diretamente, em vez de passado para um daemon na máquina local. Se você fizer
deseja se conectar a um daemon na máquina local para teste, então dê o
endereço IP da máquina ou nome de host real. (Isso será mais lento.)

IPV6 Um endereço IPv6 literal entre colchetes, como [::1]

IPV4 Um endereço IPv4 literal, como 10.0.0.1

NOME DE ANFITRIÃO
Um nome de host a ser pesquisado usando o resolvedor.

:PORTA Conecte-se a um número de porta decimal especificado, em vez do padrão de 3632.

@HOSTID
Conecte-se ao host por SSH, em vez de TCP. As opções para a conexão SSH podem
ser definido em ~ / .ssh / config

DO UTILIZADOR@ Conecte-se ao host por SSH como um nome de usuário especificado.

:COMANDO
Conecte-se por SSH e use um caminho especificado para localizar o servidor distccd. Isto é
normalmente só é necessário se por algum motivo você não puder instalar o distccd em um diretório
no PATH padrão para conexões SSH. Use isso se você receber erros como "distccd:
comando não encontrado" no modo SSH.

/LIMITE Um limite decimal pode ser adicionado a qualquer especificação de host para restringir o número de
trabalhos que este cliente enviará para a máquina. O limite padrão é quatro por
host (dois para localhost), mas pode ser ainda mais restrito pelo servidor. Você deve
só precisa aumentar isso para servidores com mais de dois processadores.

,lzo Habilita a compactação LZO para este host TCP ou SSH.

,cpp Habilita o modo distcc-pump para este host. Nota: o comando de compilação deve ser encapsulado
o script distcc-pump para iniciar o servidor de inclusão.

--Aleatória
Randomize a ordem da lista de hosts antes da execução.

+zeroconf
Esta opção is disponível if distcc foi compilado com Avahi ajuda habilitado at
configurar tempo. Quando esta entrada especial estiver presente na lista de hosts, o distcc
use Avahi Zeroconf DNS Service Discovery (DNS-SD) para localizar qualquer distccd disponível
servidores na rede local. Isso evita a necessidade de listar explicitamente o host
nomes ou endereços IP das máquinas do servidor distcc. Os servidores distccd devem ter
foi iniciado com a opção "--zeroconf" para distccd. Uma ressalva importante é que
na implementação atual, o modo de bomba ("cpp") e compressão ("",lzo") serão
nunca deve ser usado para hosts localizados via zeroconf.

Aqui está um exemplo que demonstra algumas possibilidades:

host local/2 @bigman/16:/opt/bin/distccd máquina antiga: 4200/1
# Cartman is down
distante/3,lzo

Comentários são permitidos nas especificações do host. Os comentários começam com um sinal de cerquilha/cerquilha (#)
e correr até o fim da linha.

Se um host na lista não estiver acessível, o distcc emitirá um aviso e ignorará esse host por
cerca de um minuto.

COMPRESSÃO


A Izo A opção de host especifica que a compactação LZO deve ser usada para transferência de dados,
incluindo fonte pré-processada, código objeto e mensagens de erro. A compressão é geralmente
econômico em redes mais lentas que 100Mbps, mas os resultados podem variar dependendo da rede,
processadores e árvore de origem.

A ativação da compactação faz com que o cliente e o servidor distcc usem mais tempo de CPU, mas menos
tráfego de rede. O tempo de CPU adicionado é insignificante para o modo de bomba. A compressão
a proporção é normalmente 4:1 para código-fonte e 2:1 para código objeto.

O uso da compactação requer que o cliente e o servidor usem pelo menos a versão 2.9 do distcc.
Nenhuma configuração de servidor é necessária: o servidor sempre responde com respostas compactadas para
solicitações compactadas.

O modo de bomba requer que os servidores tenham a opção de host lzo ativada.

Pesquisar CAMINHOS


Se o nome do compilador for um caminho absoluto, ele é passado literalmente para o servidor e o
compilador é executado a partir desse diretório. Por exemplo:

distcc /usr/local/bin/gcc-3.1415 -c ola.c

Se o nome do compilador não for absoluto ou não for totalmente qualificado, o PATH do distccd será pesquisado.
Quando o distcc é executado a partir de um diretório de máscaras, apenas o nome base do compilador é
usava. O PATH do cliente é usado apenas para executar o pré-processador e não tem efeito sobre o
caminho do servidor.

PRAZOS


Tanto o cliente quanto o servidor distcc impõem tempos limite na transferência de dados pela rede.
Destina-se a detectar hosts que estão inativos ou inacessíveis e evitar compilações
travando indefinidamente se um servidor for desconectado enquanto estiver em uso. Se um tempo limite do lado do cliente
expirar, o trabalho será executado novamente localmente.

Os tempos limite não são configuráveis ​​no momento.

DIAGNÓSTICO


Mensagens de erro ou avisos de compiladores locais ou remotos são passados ​​para diagnóstico
saída no cliente.

O distcc pode fornecer informações de depuração extensas quando a opção detalhada é usada. Isto
é controlado pelo DISTCC_VERBOSE variável de ambiente no cliente e a --verbose
opção no servidor. Para solução de problemas, examine o erro do cliente e do servidor
mensagens.

SAIR CÓDIGOS


O código de saída do distcc é normalmente o do compilador: zero para compilação bem-sucedida
e diferente de zero caso contrário.

distcc distingue entre erros "genuínos", como um erro de sintaxe na fonte, e
erros "acidentais", como um problema de rede ao conectar-se a um voluntário. Dentro do estojo
de erros acidentais, o distcc tentará novamente a compilação localmente, a menos que o DISTCC_FALLBACK
opção foi desabilitada.

Se o compilador sair com um sinal, distcc retornará um código de saída de 128 mais o sinal
número.

erros internos distcc causam um código de saída entre 100 e 127. Em particular

100 Falha geral do distcc.

101 Argumentos ruins.

102 Falha na vinculação.

103 Falha na conexão.

104 O compilador falhou.

105 Sem memória.

106 SPEC de host inválido

Erro de E / S 107

108 Truncado.

109 Erro de protocolo.

110 O compilador fornecido não foi encontrado no host remoto. Verifique se $CC está definido
apropriadamente e que está instalado em um diretório no caminho de pesquisa para
distcd.

111 Chamada recursiva para distcc.

112 Falha ao descartar privilégios.

113 Acesso à rede negado.

114 Em uso por outro processo.

115 Não existe tal arquivo.

116 Nenhum host definido e fallbacks desabilitados.

118 Tempo limite.

Use distcc online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Firebird
    Firebird
    Firebird RDBMS oferece recursos ANSI SQL
    & roda em Linux, Windows &
    várias plataformas Unix. Características
    excelente simultaneidade e desempenho
    & potência...
    Baixar Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer é um editor HTML wysiwyg usando
    a base de código do Mozilla Composer. Como
    O desenvolvimento do Nvu foi interrompido
    em 2005, KompoZer corrige muitos bugs e
    adiciona um f...
    Baixar KompoZer
  • 3
    Downloader de mangá grátis
    Downloader de mangá grátis
    O Free Manga Downloader (FMD) é um
    aplicativo de código aberto escrito em
    Object-Pascal para gerenciamento e
    baixando mangá de vários sites.
    Isso é um espelho...
    Baixe o Manga Downloader Gratuito
  • 4
    UNetbootin
    UNetbootin
    O UNetbootin permite criar arquivos inicializáveis
    Unidades USB ao vivo para Ubuntu, Fedora e
    outras distribuições Linux sem
    gravando um CD. Funciona em Windows, Linux,
    e ...
    Baixar UNetbootin
  • 5
    ERP Dolibarr - CRM
    ERP Dolibarr - CRM
    Dolibarr ERP - CRM é uma ferramenta fácil de usar
    Pacote de software de código aberto ERP e CRM
    (executado com um servidor web php ou como
    software autônomo) para empresas,
    fundações...
    Baixar Dolibarr ERP - CRM
  • 6
    Cliente SQL SQuirreL
    Cliente SQL SQuirreL
    SQuirreL SQL Client é um SQL gráfico
    cliente escrito em Java que permitirá
    você para ver a estrutura de um JDBC
    banco de dados compatível, navegue pelos dados em
    mesas ...
    Baixar SQuirreL SQL Client
  • Mais "

Comandos Linux

Ad