InglêsFrancêsEspanhol

Ad


favicon do OnWorks

include_server - Online na nuvem

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

Este é o comando include_server 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


include_server.py - aproximação conservadora de dependências de inclusão para C / C ++

SINOPSE


incluir_servidor --porta INCLUDE_SERVER_PORT [OPÇÕES]

DESCRIÇÃO


include_server.py inicia um processo de inclusão do servidor. Este processo responde a perguntas de
distcc(1) clientes sobre quais arquivos incluir nas compilações C / C ++. O include_server.py
o comando em si termina assim que o servidor de inclusão é gerado.

O argumento INCLUDE_SERVER_PORT é o nome de um soquete usado para todas as comunicações
entre os clientes distcc e o servidor de inclusão. o bomba distcc(1) o comando é responsável
para criar a localização do soquete, para passá-lo para este script e para passá-lo a todos
clientes distcc por meio da variável de ambiente chamada INCLUDE_SERVER_PORT.

O protocolo usado pelo servidor de inclusão usa a implementação RPC do distcc. Cada distcc
pedido consiste em (1) o diretório atual e (2) a lista de argumentos do
comando de compilação.

Se o servidor de inclusão for capaz de processar a solicitação, ele responde ao cliente distcc por
enviando uma lista de caminhos de arquivo. Os caminhos de arquivo são aqueles da fonte compactada e do cabeçalho
arquivos considerados necessários para a compilação por meio da análise de inclusão. A lista também
compreende links simbólicos e até mesmo arquivos fictícios necessários para o servidor de compilação
construir uma réplica precisa das partes do sistema de arquivos necessárias para a compilação. No
desta forma, um arquivo de cabeçalho necessário como /path/foo.h é compactado, renomeado e armazenado em um
local temporário, como /dev/shm/tmpiAvfGv.include_server-9368-1/path/foo.h.lzo. o
o cliente distcc irá passar esses arquivos para um servidor de compilação, onde eles estarão
descompactado e montado temporariamente.

Se o servidor de inclusão não for capaz de processar a solicitação, ele retornará a lista vazia
para o cliente distcc.

Existem dois tipos de falhas relacionadas ao servidor de inclusão. O servidor de inclusão pode
falhar em computar as inclusões ou falhar de outras maneiras, consulte a seção INCLUIR SERVIDOR SINTOMAS.
Além disso, a compilação no servidor de remoção pode falhar devido à inadequação do
inclui o fechamento, mas é bem-sucedido quando uma nova tentativa local, consulte a seção DISTCC DISCREPÂNCIA
SINTOMAS.

OPÇÃO RESUMO


As seguintes opções são compreendidas por include_server.py.

-dPAT, --debug_pattern = PAT
Vetor de bits para ativar avisos e depuração
1 = avisos
2 = traçar algumas funções
outros poderes de dois: consulte include_server / basics.py.

-e --o email
Envie e-mail para 'distcc-pump-errors' ou, se definido, o valor da variável de ambiente
DISTCC_EMAILLOG_WHOM_TO_BLAME, quando o servidor de inclusão tem problemas. O padrão é
para não enviar e-mail.

--email_bound NÚMERO
Número máximo de emails a enviar (além de um email final). Padrão: 3.

- sem email
Não envie email. Este é o padrão.

--path_observation_re = RE
Emita uma mensagem de aviso sempre que um nome de arquivo for resolvido para um caminho real que corresponda
por RE, que é uma expressão regular na sintaxe Python. Isso é útil para encontrar
de onde realmente vêm os arquivos incluídos. Use RE = "" para encontrar todos eles. Observação:
os avisos devem ser habilitados com pelo menos -d1.

--pid_arquivo CAMINHO DE ARQUIVO
O pid do servidor de inclusão é gravado no arquivo FILEPATH. Isso permite um script
tal bomba distcc para derrubar o servidor de inclusão.

-sim, --Estatisticas
Imprima informações para stdout sobre incluir análise.

--stat_reset_triggers = LIST
Libere caches de estatísticas quando o carimbo de data / hora de qualquer caminho de arquivo em LIST muda ou o
caminho de arquivo entra ou deixa de existir. LIST é uma string separada por dois pontos de
caminhos de arquivo, possivelmente contendo globs simples (conforme permitido pelo módulo glob do Python).
Imprima um aviso sempre que tal alteração acontecer (se os avisos estiverem habilitados). Esse
opção permite exceções limitadas à suposição normal da distcc-pump de que a fonte
os arquivos não são modificados durante a construção.

-t, --Tempo
Imprime o tempo decorrido, do usuário e do sistema em stderr.

--unsafe_absolute_includes
Faça o pré-processamento no servidor de compilação mesmo que inclua caminhos de arquivo absolutos
são encontrados. Normalmente, o servidor de inclusão recorrerá ao pré-processamento local
se detectar quaisquer inclusões absolutas. Assim, este sinalizador é útil para prevenir tal
fallbacks quando o absoluto inclui são um alarme falso, seja porque o absoluto
include é descartado durante o pré-processamento ou porque o arquivo absolutamente incluído
existe nos servidores de compilação.

Mais precisamente, com --unsafe_absolute_includes as inclusões absolutas são ignoradas para
para fins de coleta do fechamento de inclusão. Usar esta opção pode levar a
resultados incorretos porque (1) o cabeçalho pode realmente ser incluído no
servidor de compilação e pode não ser o mesmo que no cliente, (2) o inclui
as diretivas do cabeçalho não são analisadas posteriormente.

A opção é útil para compilar o código que tem essas localizações absolutas codificadas permanentemente
de arquivos de cabeçalho dentro de diretivas condicionais (por exemplo, "#ifdef") que renderizam o
inclui irrelevante. Mais precisamente, essas inclusões devem ser eliminadas durante
pré-processamento para a configuração real. Então a questão da existência do
o arquivo de cabeçalho é discutível e a compilação remota é sólida. Este é frequentemente o caso se
tais inclusões são destinadas a configurações incomuns diferentes das reais
configuração.

-dentro, --verificar
Verifique se os arquivos no fechamento do CPP estão contidos no fechamento calculado por incluir
processador.

-C, --write_include_closure
Escreva um arquivo .d_approx que lista todos os arquivos incluídos calculados pelo include
servidor; com -x, além disso, grava os arquivos incluídos conforme calculado pelo CPP para um
arquivo .d_exact.

-x, --exata_análise
Em vez disso, use o CPP, não omita os arquivos de cabeçalhos do sistema.

INCLUIR SERVIDOR SINTOMAS E QUESTÕES


As mensagens e avisos mais prováveis ​​provenientes do processador de inclusão estão listados abaixo.

Pré-processando localmente. Incluir servidor não cobertura: Não poderia determinar omissão .
incluir diretórios
Para determinar os diretórios de cabeçalho do sistema padrão, o servidor de inclusão executa o
compilador uma vez para cada linguagem necessária durante sua sessão. Esta mensagem indica
que o compilador especificado para distcc não está presente no cliente.

Pré-processando localmente. Incluir servidor não cobertura: Salvamento Fora Porque incluir servidor
gasto mais do que ... s usuário tempo manipulação solicitar
Em situações incomuns, o servidor de inclusão não consegue analisar macros muito complicadas
expressões. O cliente distcc usará o modo distcc simples.

Atenção: Caminho de arquivo devo be relativo mas a não é
O servidor de inclusão não aceita caminhos de arquivo absolutos, como
/usr/include/stdio.h, inclui diretivas, porque não há garantia de que
este cabeçalho na máquina do servidor de compilação será o mesmo que no
cliente. O servidor de inclusão desiste de analisar o fechamento de inclusão. O distcc
o cliente não pode usar o modo de bomba.

Para superar este problema de uma forma nem sempre confiável, defina a variável de ambiente
INCLUDE_SERVER_ARGS = '- unsafe_absolute_includes' ao invocar a bomba distcc
script para passar a opção --unsafe_absolute_includes para o servidor de inclusão.

Atenção: absoluto caminho de arquivo ... foi IGNORADO
O --unsafe_absolute_includes está em uso. Esta situação acontece no mesmo
circunstâncias como quando "O caminho do arquivo deve ser relativo, mas não é" é emitido, mas neste
caso, a inclusão fornecerá uma resposta ao cliente distcc.

Atenção: Caminho '/ PATH / FILE' mudou / veio para dentro existência / não mais existe
Esses avisos são emitidos ao usar gatilhos de redefinição de estatísticas. Porque / PATH / FILE
alterado, o servidor de inclusão limpa seus caches; a nova versão do arquivo (ou o
falta dela) torna a análise de inclusão inválida. Esta mensagem geralmente pode ser
ignorado; significa um uso um tanto precário de arquivos pelo sistema de compilação.
Recomenda-se consertar o sistema de construção para que os arquivos não sejam regravados.

Atenção: Escolha tradução unidade ..., pesquisa of lima ... resolvidas para ... de quem caminho real is
...
Este aviso ocorre com --path_observation_re quando um novo realpath correspondendo a um
fonte ou arquivo de cabeçalho é observado.

DISTCC DISCREPÂNCIA SINTOMAS


As interações entre o sistema de compilação, distcc e o servidor de inclusão são um tanto
complexo. Quando um comando distcc recebe uma compilação com falha do servidor remoto,
tenta novamente a compilação localmente. Esta seção discute as causas das discrepâncias
entre a compilação remota e local. Eles são sinalizados pela mensagem de rebaixamento:

__________Aviso: ... modo de bomba compilação (ões) fracassado on servidor, mas a conseguiu localmente.
__________ Bomba Distcc foi rebaixado para planície modo. See que o Distcc Discrepância Sintomas
seção in que o incluir_servidor(1) homem Disputas de Comerciais.

O script distcc-pump emite esta mensagem no final da construção. Isso significa que por em
pelo menos uma invocação de distcc uma compilação local foi bem-sucedida após a compilação remota
fracassado. Cada invocação distcc para a qual tal discrepância ocorreu, por sua vez, também emite um
mensagem como:

Atenção: remoto compilação of '...' falhou, tentei novamente localmente e tem a diferente resultado.

O rebaixamento faz com que as invocações distcc subsequentes usem o modo distcc simples. Assim
o pré-processamento ocorrerá na máquina local para o restante da construção. Esse
técnica evita compilações muito lentas onde todas as compilações terminam na máquina local
depois de falhar remotamente.

Claro, se as compilações locais falharem após as falhas remotas, o distcc
a invocação termina com o status diferente de zero da compilação local. As mensagens de erro
impressos também são aqueles da compilação local.

O comportamento de fallback do modo distcc-pump para compilação local pode ser desabilitado configurando
a variável de ambiente DISTCC_FALLBACK para 1, o que faz com que o comando distcc falhe assim que
porque a compilação remota falhou. Esta configuração é muito útil para depurar porque o
a compilação remota deu errado, porque agora a saída do servidor será impressa.

A seguir, discutimos as possíveis causas das discrepâncias.

A usuário mudado a fonte or cabeçalho lima durante que o construir.
Isso produz resultados inconsistentes, é claro.

A fonte or cabeçalho lima mudado durante que o construir.
O sistema de compilação reescreve um arquivo. Para Linux kernel 2.6, isso acontece para
'include / linux / compile.h' e 'include / asm / asm-offsets.h'. Esta condição é corrigida
permitindo que o servidor de inclusão saiba que ele deve redefinir seus caches quando uma estatística de qualquer
das alterações de arquivos. Praticamente, isso é feito reunindo os arquivos em dois pontos
lista separada e, em seguida, definindo o comando INCLUDE_SERVER_ARGS como em:

include_server_args = "- stat_reset_triggers = include / linux / compile.h: include / asm / asm-
offsets.h "

A cabeçalho lima is potencialmente incluído, mas a parece não existir, e is então mais tarde incluído.

Isso ocorre quando algum cabeçalho foo.h inclui outro arquivo de cabeçalho trick.h, mas o
O arquivo trick.h ainda não foi gerado e a inclusão foi realmente ignorada
devido às diretivas de pré-processamento. O servidor de inclusão investigará o
existência de trick.h, porque superaproxima todas as diretivas de formas possíveis
realmente avaliar. Determinou-se que o arquivo trick.h não existe. Se for mais tarde
gerado e realmente incluído, o servidor de inclusão acreditará erroneamente
que o arquivo ainda não existe. A solução para este problema é fazer o
sistema de construção, gerar trick.h antes da primeira vez que qualquer arquivo de cabeçalho for incluído
que faz uma referência sintática para trick.h

A incluir servidor foi começado com --unsafe_absolute_includes.
Isso é um problema se houver arquivos de cabeçalho localmente que não existem remotamente e
que são realmente usados. Tais inclusões são frequentemente protegidas por condicionais
diretivas que avaliam para que sejam realmente usadas apenas em casos específicos e frequentemente
plataformas incomuns. Se você não está compilando para tal plataforma, então pode ser
correto de usar --unsafe_absolute_include.

A incluir servidor tem calculado que o Wrongs inclui.
Não conhecemos tal situação.

SAIR CÓDIGOS


O código de saída de include_server.py é geralmente 0. Que o servidor de inclusão foi iniciado
adequadamente é comunicado por meio da existência do pid_file.

MEIO AMBIENTE VARIÁVEIS


DISTCC_EMAILLOG_WHOM_TO_BLAME O endereço de e-mail a ser usado para incluir servidor automatizado
e-mails. O padrão é 'distcc-pump-errors' (que é um endereço de e-mail que provavelmente irá
não existe em seu domínio).

Além disso, a invocação do compilador pode usar variáveis ​​de ambiente adicionais.

Use include_server online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Phaser
    Phaser
    Phaser é um aplicativo rápido, gratuito e divertido
    framework de jogo HTML5 de origem que oferece
    Renderização WebGL e Canvas em
    navegadores da web para desktop e celular. Jogos
    pode ser co ...
    Baixar Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL é um motor de jogo para criar
    versões eletrônicas do tabuleiro tradicional
    e jogos de cartas. Ele fornece suporte para
    renderização e interação de peças do jogo,
    e ...
    Baixar VASSAL Engine
  • 3
    OpenPDF - Fork do iText
    OpenPDF - Fork do iText
    OpenPDF é uma biblioteca Java para criar
    e edição de arquivos PDF com LGPL e
    Licença de código aberto MPL. OpenPDF é o
    LGPL/MPL sucessor de código aberto do iText,
    um ...
    Baixar OpenPDF - Bifurcação do iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistema para Automatizado
    Análises geocientíficas - é um geográfico
    Software de Sistema de Informação (GIS) com
    imensas capacidades para geodados
    processando e ana ...
    Baixar SAGA GIS
  • 5
    Caixa de ferramentas para Java / JTOpen
    Caixa de ferramentas para Java / JTOpen
    O IBM Toolbox for Java / JTOpen é um
    biblioteca de classes Java suportando o
    programação cliente/servidor e internet
    modelos para um sistema rodando OS/400,
    i5/OS, ou...
    Baixar Toolbox para Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (ou D3 para documentos baseados em dados)
    é uma biblioteca JavaScript que permite
    para produzir dados dinâmicos e interativos
    visualizações em navegadores da web. Com D3
    você...
    Baixar D3.js
  • Mais "

Comandos Linux

  • 1
    Abidiff
    Abidiff
    abidiff - comparar ABIs de arquivos ELF
    abidiff compara o aplicativo binário
    Interfaces (ABI) de duas bibliotecas compartilhadas
    em formato ELF. Ele emite um significativo
    relatorio ...
    Executar abidiff
  • 2
    abidw
    abidw
    abidw - serializar o ABI de um ELF
    arquivo abidw lê uma biblioteca compartilhada em ELF
    formato e emite uma representação XML
    de seu ABI para a saída padrão. O
    emitido ...
    Execute abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversão de bibliografia
    Serviços de utilidade pública ...
    Execute copac2xml
  • 4
    copta
    copta
    copt - otimizador de olho mágico SYSNOPIS:
    copt.. DESCRIÇÃO: copt é um
    otimizador de olho mágico de uso geral. Isto
    lê o código de sua entrada padrão e
    escreve um...
    Executar copia
  • 5
    collect_stx_titles
    collect_stx_titles
    collect_stx_titles - reunir título
    declarações de documentos Stx ...
    Executar collect_stx_titles
  • 6
    banco giratório
    banco giratório
    bancada - benchmark http ...
    Executar gatling-bench
  • Mais "

Ad