EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

include_server - Online în cloud

Rulați include_server în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda include_server care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


include_server.py - aproximare conservatoare a dependențelor include pentru C/C++

REZUMAT


include_server --port INCLUDE_SERVER_PORT [OPȚIUNI]

DESCRIERE


include_server.py pornește un proces include server. Acest proces răspunde întrebărilor de la
distcc(1) clienți despre ce fișiere să includă în compilațiile C/C++. Include_server.py
comanda în sine se termină de îndată ce serverul include a fost generat.

Argumentul INCLUDE_SERVER_PORT este numele unui socket folosit pentru toate comunicațiile
între clienții distcc și serverul include. The distcc-pompa(1) comanda este responsabilă
pentru crearea locației socket-ului, pentru a-l transmite acestui script și pentru a-l transmite tuturor
distcc prin variabila de mediu numită INCLUDE_SERVER_PORT.

Protocolul folosit de serverul include folosește implementarea RPC a distcc. Fiecare distcc
cererea constă din (1) directorul curent și (2) lista de argumente a
comanda de compilare.

Dacă serverul include este capabil să proceseze cererea, atunci răspunde clientului distcc prin
trimiterea unei liste de căi de fișiere. Căile fișierelor sunt cele ale sursei comprimate și ale antetului
fișierele considerate a fi necesare pentru compilare prin analiza include. Lista de asemenea
cuprinde legături simbolice și chiar fișiere false necesare serverului de compilare
construiți o replică exactă a părților sistemului de fișiere necesare pentru compilare. În
în acest fel, un fișier antet necesar precum /path/foo.h este comprimat, redenumit și stocat într-un
locație temporară, cum ar fi /dev/shm/tmpiAvfGv.include_server-9368-1/path/foo.h.lzo. The
clientul distcc va transmite aceste fișiere pe un server de compilare, unde vor fi
necomprimat și montat temporar.

Dacă serverul include nu este capabil să proceseze cererea, atunci returnează lista goală
către clientul distcc.

Există două tipuri de eșecuri care se referă la serverul include. Serverul include poate
nu reușește să calculeze includerile sau eșuează în alte moduri, vezi secțiunea INCLUDE SERVER SIMPTOME.
De asemenea, compilarea pe serverul de ștergere poate eșua din cauza inadecvării calculului
include închiderea, dar apoi reușește când este reîncercat local, vezi secțiunea DISTCC DISCREPANŢĂ
SIMPTOME.

OPȚIUNE REZUMAT


Următoarele opțiuni sunt înțelese de include_server.py.

-dPAT, --debug_pattern=PAT
Vector de biți pentru activarea avertismentelor și depanare
1 = avertismente
2 = urmărirea unor funcții
alte puteri de doi: vezi include_server/basics.py.

-e, --e-mail
Trimiteți e-mail la „distcc-pump-errors” sau, dacă este definit, valoarea variabilei de mediu
DISTCC_EMAILLOG_WHOM_TO_BLAME, când serverul de includere are probleme. Valoarea implicită este
a nu trimite email.

--email_bound NUMĂR
Numărul maxim de e-mailuri de trimis (pe lângă un e-mail final). Implicit: 3.

--nu-e-mail
Nu trimite e-mail. Aceasta este valoarea implicită.

--path_observation_re=RE
Emite un mesaj de avertizare ori de câte ori un nume de fișier este rezolvat la o cale reală care se potrivește
de RE, care este o expresie regulată în sintaxa Python. Acest lucru este util pentru a găsi
de unde provin de fapt fișierele incluse. Folosiți RE="" pentru a le găsi pe toate. Notă:
avertismentele trebuie să fie activate cu cel puțin -d1.

--pid_file FILEPATH
Codul cod al serverului include este scris în fișierul FILEPATH. Acest lucru permite un script
un astfel de distcc-pompa pentru a demola serverul include.

-da, --statistici
Imprimați informații către stdout despre analiza include.

--stat_reset_triggers=LISTA
Goliți memoria cache a statisticilor când marca temporală a oricărei căi de fișier din LIST se modifică sau
filepath apare sau iese din existență. LIST este un șir separat de două puncte de
căi de fișiere, posibil care conțin globuri simple (așa cum este permis de modulul glob al lui Python).
Imprimați un avertisment ori de câte ori are loc o astfel de modificare (dacă avertismentele sunt activate). Acest
opțiunea permite excepții limitate de la presupunerea normală a distcc-pump acea sursă
fișierele nu sunt modificate în timpul construirii.

-t, --timp
Imprimați timpul scurs, utilizatorul și sistemul la stderr.

--unsafe_absolute_includes
Efectuați preprocesarea pe serverul de compilare chiar dacă include căi absolute ale fișierelor
sunt întâlnite. În mod normal, serverul include va recurge la preprocesarea locală
dacă detectează orice include absolute. Astfel, acest steag este util pentru a preveni astfel
fallback-urile atunci când absolutele includ sunt o alarmă falsă, fie pentru că absolutul
include este eliminată în timpul preprocesării sau deoarece fișierul inclus în mod absolut
există pe serverele de compilare.

Mai precis, cu --unsafe_absolute_includes includerile absolute sunt ignorate pentru
scopurile colectării include închiderea. Utilizarea acestei opțiuni poate duce la
rezultate incorecte deoarece (1) antetul poate fi de fapt inclus în
server de compilare și poate să nu fie același ca pe client, (2) include
directivele antetului nu sunt analizate în continuare.

Opțiunea este utilă pentru compilarea codului care are astfel de locații absolute codificate
de fișiere de antet în cadrul directivelor condiționate (de exemplu, „#ifdef”) care redă
include irelevante. Mai precis, aceste include trebuie eliminate în timpul
preprocesare pentru configurația reală. Apoi problema existenței
fișierul antet este discutabil, iar compilarea de la distanță este solidă. Acesta este adesea cazul dacă
astfel de includeri sunt destinate configurațiilor neobișnuite diferite de cele reale
configurare.

-v, --verifica
Verificați dacă fișierele din închiderea CPP sunt incluse în închiderea calculată prin includere
procesor.

-w, --write_include_closure
Scrieți un fișier .d_approx care listează toate fișierele incluse calculate de includere
Server; cu -x, scrieți în plus fișierele incluse așa cum sunt calculate de CPP în a
fișier .d_exact.

-X, --analiza_exact
Utilizați în schimb CPP, nu omiteți fișierele antete de sistem.

INCLUDE SERVER SIMPTOME AND PROBLEME


Cele mai probabile mesaje și avertismente care vor veni de la procesorul include sunt enumerate mai jos.

preprocesare la nivel local. Include serverul nu acoperire: Nu am putut a determina lipsă sistem
include directoare
Pentru a determina directoarele de antet de sistem implicite, serverul include rulează
compilator o dată pentru fiecare limbă necesară în timpul sesiunii sale. Acest mesaj indică
că compilatorul specificat pentru distcc nu este prezent pe client.

preprocesare la nivel local. Include serverul nu acoperire: Cautare afară deoarece include serverul
uzat mai mult decât ...s utilizator timp manipulare solicita
În situații mai puțin frecvente, serverul include nu reușește să analizeze macrocomenzile foarte complicate
expresii. Clientul distcc va folosi modul distcc simplu.

Avertisment: Calea fișierului trebuie sa be relativ dar nu este
Serverul include nu acceptă căi de fișiere absolute, cum ar fi
/usr/include/stdio.h, în directivele include, deoarece nu există nicio garanție că
acest antet de pe serverul de compilare va fi același cu cel de pe serverul
client. Serverul include renunță să analizeze închiderea include. Distcc
clientul nu poate folosi modul pompa.

Pentru a depăși această problemă într-un mod nu întotdeauna de încredere, setați variabila de mediu
INCLUDE_SERVER_ARGS='--unsafe_absolute_includes' la invocarea distcc-pump
script pentru a transmite opțiunea --unsafe_absolute_includes serverului include.

Avertisment: Absolut filepath ... a fost IGNORAT
--unsafe_absolute_includes este în uz. Această situație se întâmplă sub aceeași
circumstanțe ca atunci când „Filepath trebuie să fie relativ, dar nu este”, dar în aceasta
în cazul în care includerea va oferi un răspuns clientului distcc.

Avertisment: Cale „/CALEA/FIȘIER” schimbat/a venit în existență/nr mai lung există
Aceste avertismente sunt emise atunci când se utilizează declanșatoarele de resetare a statisticilor. Deoarece /PATH/FILE
schimbat, serverul include șterge memoria cache; noua versiune a fișierului (sau
lipsa acesteia) face ca analiza include invalidă. Acest mesaj poate fi de obicei
ignorat; înseamnă o utilizare oarecum precară a fișierelor de către sistemul de compilare.
Este recomandat să reparați sistemul de construcție, astfel încât fișierele să nu fie rescrise.

Avertisment: Pentru traducere unitate ..., căutare of fişier ... hotărât la ... a caror cale reală is
...
Acest avertisment apare cu --path_observation_re când o nouă cale reală se potrivește cu a
se observă fișierul sursă sau antet.

DISTCC DISCREPANŢĂ SIMPTOME


Interacțiunile dintre sistemul de compilare, distcc și serverul include sunt oarecum
complex. Când o comandă distcc primește o compilație eșuată de la serverul de la distanță, aceasta
reîncearcă compilarea local. Această secțiune discută cauzele discrepanțelor
între compilarea la distanță și cea locală. Acestea sunt semnalate de mesajul de retrogradare:

__________Avertizare: ... modul pompă compilație(e) a eșuat on Server, dar reușit la nivel local.
__________Distcc-pompa a fost declasată la simplu Mod. Vedea il Distcc Discrepanţă Simptome
secțiune in il include_server(1) om .

Scriptul distcc-pump emite acest mesaj la sfârșitul build-ului. Aceasta înseamnă că pentru la
cel puțin o invocare distcc o compilare locală a reușit după compilarea de la distanță
a eșuat. Fiecare invocare distcc pentru care o astfel de discrepanță a apărut la rândul său emite și a
mesaj precum:

Avertisment: la distanta compilare of '...' a eșuat, reîncercat la nivel local și am a diferit rezultat.

Retrogradarea face ca invocările distcc ulterioare să utilizeze modul distcc simplu. Prin urmare
preprocesarea va avea loc pe mașina locală pentru restul construcției. Acest
tehnica previne versiunile foarte lente în care toate compilațiile ajung pe mașina locală
după ce a eșuat de la distanță.

Desigur, dacă compilațiile locale eșuează după eșecurile de la distanță, atunci distcc
invocarea iese cu starea diferită de zero a compilației locale. Mesajele de eroare
tipărite sunt și cele ale compilației locale.

Comportamentul de rezervă pentru modul distcc-pump la compilarea locală poate fi dezactivat prin setare
variabila de mediu DISTCC_FALLBACK la 1, ceea ce face ca comanda distcc să eșueze imediat
deoarece compilarea de la distanță a eșuat. Această setare este foarte utilă pentru depanarea de ce
compilarea de la distanță a mers prost, deoarece acum ieșirea de pe server va fi tipărită.

În continuare discutăm posibilele cauze ale discrepanțelor.

utilizator si-a schimbat hainele; a sursă or antet fişier în timpul il construi.
Acest lucru dă rezultate inconsistente, desigur.

A sursă or antet fişier si-a schimbat hainele; în timpul il construi.
Sistemul de compilare rescrie un fișier. Pentru nucleul Linux 2.6, acest lucru se întâmplă pentru
„include/linux/compile.h” și „include/asm/asm-offsets.h”. Această condiție este fixată
informând serverul de includere să știe că trebuie să își reseteze memoria cache atunci când o statistică
modificări ale fișierelor. Practic, acest lucru se face prin adunarea fișierelor într-un punct
listă separată și apoi setați comanda INCLUDE_SERVER_ARGS ca în:

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

A antet fişier is potenţial inclus, dar face nu exista, și is apoi mai tarziu inclus.

Acest lucru se întâmplă atunci când un antet foo.h include un alt fișier antet trick.h, dar
Fișierul trick.h nu a fost încă generat și includerea este de fapt ignorată
din cauza directivelor de preprocesare. Serverul include va sonda pentru
existența lui trick.h, deoarece supraaproximează toate directivele posibile
evalua de fapt. Fișierul trick.h este determinat să nu existe. Dacă este mai târziu
generat și apoi inclus într-adevăr, atunci serverul include va crede în mod fals
că dosarul încă nu există. Soluția la această problemă este de a face
build system generate trick.h înainte ca orice fișier antet să fie inclus pentru prima dată
care face o referire sintactică la truc.h

include serverul a fost început cu --unsafe_absolute_includes.
Aceasta este o problemă dacă există fișiere antet la nivel local care nu există de la distanță și
care sunt de fapt folosite. Astfel de includeri sunt adesea protejate de condițional
directive care evaluează astfel încât sunt de fapt utilizate numai pe anumite și des
platforme neobișnuite. Dacă nu compilați pentru o astfel de platformă, atunci poate fi
corect de utilizat --unsafe_absolute_include.

include serverul are calculată il greşit include.
Nu cunoaștem o astfel de situație.

EXIT CODURI


Codul de ieșire al include_server.py este de obicei 0. Că serverul include a fost pornit
în mod corespunzător este comunicată prin existența fișierului_pid.

MEDIUL VARIABILE


DISTCC_EMAILLOG_WHOM_TO_BLAME Adresa de e-mail de utilizat pentru include server automatizat
e-mailuri. Valoarea implicită este „distcc-pump-errors” (care este o adresă de e-mail care probabil va
nu există în domeniul dvs.).

În plus, invocarea compilatorului poate folosi variabile de mediu suplimentare.

Utilizați include_server online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Phaser
    Phaser
    Phaser este o deschidere rapidă, gratuită și distractivă
    cadru de joc HTML5 sursă care oferă
    Redare WebGL și Canvas
    browsere web desktop și mobile. Jocuri
    poate fi co...
    Descărcați Phaser
  • 2
    Motor VASSAL
    Motor VASSAL
    VASSAL este un motor de joc pentru creare
    versiuni electronice ale plăcii tradiționale
    și jocuri de cărți. Oferă suport pentru
    redarea și interacțiunea pieselor de joc,
    și ...
    Descărcați VASSAL Engine
  • 3
    OpenPDF - Furk of iText
    OpenPDF - Furk of iText
    OpenPDF este o bibliotecă Java pentru creare
    și editarea fișierelor PDF cu un LGPL și
    Licență open source MPL. OpenPDF este
    Succesorul LGPL/MPL open source al iText,
    o ...
    Descărcați OpenPDF - Furk of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistem pentru automatizare
    Analize Geoștiințifice - este un Geografic
    Sistemul informatic (GIS) software cu
    capacități imense pentru geodate
    procesare și ana...
    Descărcați SAGA GIS
  • 5
    Caseta de instrumente pentru Java/JTOpen
    Caseta de instrumente pentru Java/JTOpen
    IBM Toolbox for Java / JTOpen este un
    biblioteca de clase Java care acceptă
    programare client/server și internet
    modele către un sistem care rulează OS/400,
    i5/OS, o...
    Descărcați Toolbox pentru Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (sau D3 pentru documente bazate pe date)
    este o bibliotecă JavaScript care vă permite
    pentru a produce date dinamice, interactive
    vizualizări în browsere web. Cu D3
    tu...
    Descărcați D3.js
  • Mai mult »

Comenzi Linux

  • 1
    abidiff
    abidiff
    abidiff - comparați ABI-urile fișierelor ELF
    abidiff compară aplicația binară
    Interfețe (ABI) a două biblioteci partajate
    în format ELF. Emite un sens
    repor ...
    Fugi abidiff
  • 2
    abidw
    abidw
    abidw - serializați ABI-ul unui ELF
    fișierul abidw citește o bibliotecă partajată în ELF
    format și emite o reprezentare XML
    a ABI-ului său la ieșirea standard. The
    emis...
    Run abidw
  • 3
    copac2xml
    copac2xml
    bibutils - conversie bibliografie
    utilitati...
    Rulați copac2xml
  • 4
    Copt
    Copt
    copt - optimizator peephole SYSNOPIS:
    fișier copt.. DESCRIERE: copt este a
    optimizator de uz general pentru vizor. Aceasta
    citește codul din intrarea sa standard și
    scrie un...
    Fugi copt
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - aduna titlul
    declarații din documentele Stx...
    Rulați gather_stx_titles
  • 6
    gatling-banc
    gatling-banc
    bench - http benchmark...
    Alerga gatling-bench
  • Mai mult »

Ad