InglesPransesEspanyol

Ad


OnWorks favicon

include_server - Online sa Cloud

Patakbuhin ang include_server sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command include_server na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


include_server.py - konserbatibong pagtatantya ng mga kasamang dependencies para sa C/C++

SINOPSIS


isama ang_server --port INCLUDE_SERVER_PORT [OPSYON]

DESCRIPTION


Ang include_server.py ay nagsisimula ng isang proseso ng pagsama ng server. Sinasagot ng prosesong ito ang mga tanong mula sa
distcc(1) mga kliyente tungkol sa kung anong mga file ang isasama sa mga compilation ng C/C++. Ang include_server.py
Ang utos mismo ay magwawakas sa sandaling mabuo ang kasamang server.

Ang INCLUDE_SERVER_PORT argument ay ang pangalan ng socket na ginagamit para sa lahat ng komunikasyon
sa pagitan ng mga kliyenteng distcc at ng kasamang server. Ang distcc-pump(1) ang utos ay may pananagutan
para sa paglikha ng lokasyon ng socket, para sa pagpasa nito sa script na ito, at para sa pagpasa nito sa lahat
distcc client sa pamamagitan ng environment variable na pinangalanang INCLUDE_SERVER_PORT.

Ang protocol na ginagamit ng include server ay gumagamit ng pagpapatupad ng RPC ng distcc. Ang bawat distcc
Ang kahilingan ay binubuo ng (1) kasalukuyang direktoryo at (2) ang listahan ng mga argumento ng
utos ng compilation.

Kung maproseso ng include server ang kahilingan, sasagutin nito ang distcc client ng
pagpapadala ng listahan ng mga filepath. Ang mga filepath ay ang mga naka-compress na pinagmulan at header
mga file na napag-alamang kailangan para sa pagsasama-sama sa pamamagitan ng pagsusuri sa pagsasama. Ang listahan din
binubuo ng mga simbolikong link at maging ang mga dummy na file na kailangan para sa compilation server
bumuo ng isang tumpak na kopya ng mga bahagi ng filesystem na kailangan para sa compilation. Sa
sa ganitong paraan, ang isang kinakailangang header file tulad ng /path/foo.h ay na-compress, pinalitan ng pangalan, at naka-imbak sa isang
pansamantalang lokasyon, gaya ng /dev/shm/tmpiAvfGv.include_server-9368-1/path/foo.h.lzo. Ang
ipapasa ng distcc client ang mga file na ito sa isang compilation server, kung saan sila pupunta
hindi naka-compress at pansamantalang naka-mount.

Kung hindi maproseso ng include server ang kahilingan, ibabalik nito ang walang laman na listahan
sa distcc client.

Mayroong dalawang uri ng mga pagkabigo na nauugnay sa kasamang server. Ang kasamang server ay maaaring
mabigong kalkulahin ang mga kasama o nabigo sa ibang mga paraan, tingnan ang seksyon MAISASALI SERVER SYMPTOMS.
Gayundin, ang compilation sa remove server ay maaaring mabigo dahil sa kakulangan ng nakalkula
isama ang pagsasara, ngunit pagkatapos ay magtagumpay kapag lokal na muling sinubukan, tingnan ang seksyon DISTCC DISKREPansya
SYMPTOMS.

OPTION BUOD


Ang mga sumusunod na opsyon ay naiintindihan ng include_server.py.

-dPAT, --debug_pattern=PAT
Bit vector para sa pag-on ng mga babala at pag-debug
1 = mga babala
2 = bakas ang ilang mga function
iba pang kapangyarihan ng dalawa: tingnan ang include_server/basics.py.

-e, --email
Magpadala ng email sa 'distcc-pump-errors' o kung tinukoy, ang halaga ng variable ng kapaligiran
DISTCC_EMAILLOG_WHOM_TO_BLAME, kapag nagkaproblema ang isamang server. Ang default ay
para hindi magpadala ng email.

--email_bound NUMBER
Pinakamataas na bilang ng mga email na ipapadala (bilang karagdagan sa isang panghuling email). Default: 3.

--walang-email
Huwag magpadala ng email. Ito ang default.

--path_observation_re=RE
Magbigay ng mensahe ng babala sa tuwing ang isang filename ay naresolba sa isang realpath na tumugma
ni RE, na isang regular na expression sa Python syntax. Ito ay kapaki-pakinabang para sa paghahanap
kung saan talaga nanggaling ang mga file na kasama. Gamitin ang RE="" para hanapin silang lahat. Tandaan:
ang mga babala ay dapat na pinagana na may hindi bababa sa -d1.

--pid_file FILEPATH
Ang pid ng kasamang server ay isinulat upang mag-file ng FILEPATH. Pinapayagan nito ang isang script
tulad ng isang distcc-pump para sirain ang include server.

-oo, --mga istatistika
Mag-print ng impormasyon upang pag-aralan ang tungkol sa pagsusuri sa pagsasama.

--stat_reset_triggers=LIST
I-flush ang mga cache ng stat kapag nagbago ang timestamp ng anumang filepath sa LIST o ang
papasok o wala na ang filepath. LIST ay isang colon separated string ng
filepaths, posibleng naglalaman ng mga simpleng glob (tulad ng pinapayagan ng glob module ng Python).
Mag-print ng babala sa tuwing may ganitong pagbabago (kung naka-enable ang mga babala). Ito
pinapayagan ng opsyon ang mga limitadong pagbubukod sa normal na pag-aakala ng distcc-pump na pinagmulan
Ang mga file ay hindi binago sa panahon ng pagbuo.

-t, --oras
Lumipas ang pag-print, user, at oras ng system sa stderr.

--unsafe_absolute_includes
Magsagawa ng preprocessing sa compilation server kahit na may kasamang absolute filepaths
ay nakatagpo. Karaniwan ang kasama-server ay babalik sa lokal na preprocessing
kung ito ay nakakita ng anumang ganap na kasama. Kaya, ang watawat na ito ay kapaki-pakinabang para sa pagpigil sa ganoon
fallbacks kapag ang absolute kasama ay isang maling alarma, alinman dahil ang absolute
Isama ay itinapon sa panahon ng preprocessing o dahil ang ganap na kasamang file
umiiral sa mga server ng compilation.

Mas tiyak, na may --unsafe_absolute_includes absolute includes ay hindi pinapansin
ang mga layunin ng pagtitipon ng isama ang pagsasara. Ang paggamit ng opsyong ito ay maaaring humantong sa
maling mga resulta dahil (1) ang header ay maaaring aktwal na kasama sa
compilation server at maaaring hindi ito katulad ng sa client, (2) ang isama
ang mga direktiba ng header ay hindi pa nasusuri.

Ang opsyon ay kapaki-pakinabang para sa pag-compile ng code na may ganoong hardcoded na ganap na mga lokasyon
ng mga file ng header sa loob ng mga conditional na direktiba (hal. "#ifdef") na nagbibigay ng
kasama ang walang katuturan. Mas tiyak, ang mga kasamang ito ay dapat na alisin sa panahon
preprocessing para sa aktwal na pagsasaayos. Pagkatapos ang tanong ng pagkakaroon ng
header file ay pinagtatalunan at ang remote compilation ay tunog. Ito ay kadalasang nangyayari kung
ang mga naturang kasama ay sinadya para sa hindi pangkaraniwang mga pagsasaayos na naiiba sa aktwal
pagsasaayos.

-sa, -I-verify
I-verify na ang mga file sa pagsasara ng CPP ay nakapaloob sa pagsasara na kinakalkula sa pamamagitan ng pagsasama
processor.

-w, --write_include_closure
Sumulat ng .d_approx file na naglilista ng lahat ng kasamang file na kinakalkula ng kasama
server; na may -x, isulat din ang mga kasamang file bilang kalkulado ng CPP sa a
.d_exact na file.

-x, --eksaktong_pagsusuri
Gamitin ang CPP sa halip, huwag tanggalin ang mga file ng mga header ng system.

MAISASALI SERVER SYMPTOMS AT MGA ISYU


Ang pinaka-malamang na mga mensahe at babala na magmumula sa kasamang processor ay nakalista sa ibaba.

Nagpoproseso lokal. isama server hindi pantakip: hindi pwede malaman default sistema
isama mga direktoryo
Upang matukoy ang mga default na direktoryo ng header ng system, pinapatakbo ng include server ang
compiler isang beses para sa bawat wika na kailangan sa session nito. Ang mensaheng ito ay nagpapahiwatig
na ang compiler na tinukoy sa distcc ay wala sa client.

Nagpoproseso lokal. isama server hindi pantakip: Bailing Palabas dahil sa isama server
pagod mas marami pang kaysa ...s gumagamit oras pag-asikaso humiling
Sa mga hindi karaniwang sitwasyon, nabigo ang include server na pag-aralan ang napakakomplikadong macro
mga ekspresyon. Ang distcc client ay gagamit ng plain distcc mode.

Babala: Filepath dapat be kamag-anak pero ay hindi
Ang kasamang server ay hindi tumatanggap ng mga ganap na filepath, gaya ng
/usr/include/stdio.h, sa isama ang mga direktiba, dahil walang garantiya na
ang header na ito sa compilation server machine ay magiging kapareho ng sa
kliyente. Ang kasamang server ay sumuko sa pagsusuri sa pagsasara ng kasama. Ang distcc
hindi magagamit ng kliyente ang pump-mode.

Upang malampasan ang problemang ito sa hindi palaging maaasahang paraan, itakda ang variable ng kapaligiran
INCLUDE_SERVER_ARGS='--unsafe_absolute_includes' kapag ginagamit ang distcc-pump
script upang ipasa ang --unsafe_absolute_includes na opsyon sa kasamang server.

Babala: lubos filepath ... ay HINDI PANSININ
Ang --unsafe_absolute_includes ay ginagamit. Ang sitwasyong ito ay nangyayari sa ilalim ng parehong
mga pangyayari kung kailan ang "Filepath ay dapat na kamag-anak ngunit hindi" ay ibinigay, ngunit sa ito
kaso ang kasama ay magbibigay ng sagot sa distcc client.

Babala: Landas '/PATH/FILE' nagbago/dumating sa pagkakaroon/hindi mas mahaba Umiiral
Ibinibigay ang mga babalang ito kapag gumagamit ng mga trigger sa pag-reset ng istatistika. Dahil /PATH/FILE
binago, ni-clear ng include server ang mga cache nito; ang bagong bersyon ng file (o ang
kakulangan nito) ginagawang hindi wasto ang pagsusuri sa pagsasama. Ang mensaheng ito ay karaniwang maaaring
hindi pinansin; ito ay nangangahulugan ng isang medyo tiyak na paggamit ng mga file ng build system.
Inirerekomenda na ayusin ang build system upang hindi maisulat muli ang mga file.

Babala: para pagsasalin yunit ..., paghahanap of file ... naayos sa ... na realpath is
...
Ang babalang ito ay nangyayari sa --path_observation_re kapag ang isang bagong realpath ay tumutugma sa a
source o header file ay sinusunod.

DISTCC DISKREPansya SYMPTOMS


Ang mga pakikipag-ugnayan sa pagitan ng build system, distcc, at ang kasamang server ay medyo
kumplikado. Kapag ang isang distcc na utos ay nakatanggap ng bagsak na compilation mula sa remote server ito
muling sinusubukan ang compilation sa lokal. Tinatalakay ng seksyong ito ang mga sanhi ng mga pagkakaiba
sa pagitan ng remote at lokal na compilation. Ang mga ito ay na-flag ng mensahe ng demosyon:

__________Babala: ... pump-mode (mga) compilation Nabigo ang on server, pero nagtagumpay lokal.
__________Distcc-pump ay hinirang sa payak mode. Tingnan ang Distcc Pagkakaiba sintomas
seksyon in ang isama ang_server(1) lalaki pahina.

Ang distcc-pump script ay naglalabas ng mensaheng ito sa dulo ng build. Nangangahulugan ito na para sa
hindi bababa sa isang distcc invocation isang lokal na compilation ang nagtagumpay pagkatapos ng remote compilation
nabigo. Ang bawat distcc invocation kung saan naganap ang naturang pagkakaiba ay naglalabas din ng a
mensahe tulad ng:

Babala: malayo pagtitipon of '...' nabigo, muling sinubukan в местном масштабе at Nakakuha a iba resulta.

Ginagawa ng demotion ang mga kasunod na distcc invocations na gumamit ng plain distcc mode. Sa gayon
ang preprocessing ay magaganap sa lokal na makina para sa natitirang bahagi ng build. Ito
Pinipigilan ng pamamaraan ang napakabagal na pagbuo kung saan napupunta ang lahat ng compilation sa lokal na makina
pagkatapos mabigo nang malayuan.

Siyempre, kung ang mga lokal na compilations ay nabigo pagkatapos ng malayuang pagkabigo, pagkatapos ay ang distcc
paglabas ng invocation na may non-zero status ng lokal na compilation. Ang mga mensahe ng error
nakalimbag din ang mga lokal na compilation.

Ang fallback na gawi para sa distcc-pump mode sa lokal na compilation ay maaaring i-disable sa pamamagitan ng setting
ang variable ng kapaligiran na DISTCC_FALLBACK sa 1, na nagpapabagsak sa distcc command sa lalong madaling panahon
dahil nabigo ang remote compilation. Ang setting na ito ay lubhang kapaki-pakinabang para sa pag-debug kung bakit ang
nagkamali ang remote compilation, dahil ipi-print na ngayon ang output mula sa server.

Susunod na pag-uusapan natin ang mga posibleng dahilan ng mga pagkakaiba.

Ang gumagamit nagbago a pinagmulan or header file sa panahon ng ang magtayo.
Magbubunga ito ng hindi pantay na mga resulta siyempre.

A pinagmulan or header file nagbago sa panahon ng ang magtayo.
Ang build system ay muling nagsusulat ng isang file. Para sa Linux kernel 2.6, nangyayari ito para sa
'include/linux/compile.h' at 'include/asm/asm-offsets.h'. Naayos na ang kundisyong ito
sa pamamagitan ng pagpapaalam sa include server na dapat itong i-reset ang mga cache nito kapag may stat ng anuman
ng mga pagbabago sa mga file. Sa praktikal, ito ay ginagawa sa pamamagitan ng pagtitipon ng mga file sa isang colon-
pinaghiwalay na listahan at pagkatapos ay itakda ang INCLUDE_SERVER_ARGS na utos tulad ng sa:

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

A header file is potensyal kasama, pero ang hindi umiiral, at is pagkatapos mamaya kasama.

Ito ay nangyayari kapag ang ilang header foo.h ay may kasamang isa pang header file na trick.h, ngunit ang
trick.h file ay hindi pa nabuo at ang pagsasama ay talagang hindi pinansin
dahil sa preprocessing na mga direktiba. Ang kasamang server ay magsisiyasat para sa
pagkakaroon ng trick.h, dahil overapproximates nito ang lahat ng posibleng mga direktiba ng paraan
talagang suriin. Ang file trick.h ay tinutukoy na hindi umiral. Kung ito ay mamaya
nabuo, at pagkatapos ay talagang kasama, pagkatapos ay maling paniniwalaan ang kasamang server
na ang file ay wala pa rin. Ang solusyon sa problemang ito ay gawin ang
bumuo ng system bumuo ng trick.h bago ang unang pagkakataon na anumang header file ay kasama
na gumagawa ng syntactic na sanggunian sa trick.h

Ang isama server ay Nagsimula sa --unsafe_absolute_includes.
Ito ay isang problema kung mayroong mga header file na lokal na hindi umiiral nang malayuan at
na ginagamit talaga. Ang ganitong mga kasama ay kadalasang pinoprotektahan ng kondisyon
mga direktiba na nagsusuri upang aktwal na ginagamit lamang sa tiyak at madalas
hindi karaniwang mga platform. Kung hindi ka nag-compile para sa ganoong platform, maaaring ito nga
tamang gamitin --unsafe_absolute_include.

Ang isama server ay tinantiya ang mali may kasamang
Hindi natin alam ang ganitong sitwasyon.

EXIT MGA CODE


Ang exit code ng include_server.py ay karaniwang 0. Na ang include server ay nasimulan na
maayos na ipinapaalam sa pamamagitan ng pagkakaroon ng pid_file.

Kapaligiran MGA VARIABLE


DISTCC_EMAILLOG_WHOM_TO_BLAME Ang email address na gagamitin para sa pagsasama ng server ay awtomatiko
mga email. Ang default ay 'distcc-pump-errors' (na isang email address na malamang
wala sa iyong domain).

Bukod pa rito, ang invocation ng compiler ay maaaring gumamit ng mga karagdagang variable ng kapaligiran.

Gamitin ang include_server online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad