OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

6.52.1. Installation von Ninja

Bei der Ausführung führt Ninja normalerweise eine maximale Anzahl von Prozessen parallel aus. Standardmäßig ist dies die Anzahl der Kerne im System plus zwei. In manchen Fällen kann dies dazu führen, dass die CPU überhitzt oder das System nicht mehr über genügend Arbeitsspeicher verfügt. Wenn es über die Befehlszeile ausgeführt wird, begrenzt die Übergabe eines -jN-Parameters die Anzahl paralleler Prozesse, aber einige Pakete betten die Ausführung von Ninja ein und übergeben keinen -j-Parameter.

Verwendung der optional Mit dem folgenden Verfahren kann ein Benutzer die Anzahl paralleler Prozesse über eine Umgebungsvariable, NINJAJOBS, begrenzen. Zum Beispiel, Einstellung:


NINJAJOBS=4 exportieren

NINJAJOBS=4 exportieren


wird Ninja auf vier parallele Prozesse beschränken.

Fügen Sie bei Bedarf die Möglichkeit hinzu, die Umgebungsvariable NINJAJOBS zu verwenden, indem Sie Folgendes ausführen:


sed -i '/int Guess/a \ int j = 0;\

char* jobs = getenv( "NINJAJOBS" );\ if ( jobs != NULL ) j = atoi( jobs );\ if ( j > 0 ) return j;\

' src/ninja.cc

sed -i '/int Guess/a \ int j = 0;\

char* jobs = getenv( "NINJAJOBS" );\ if ( jobs != NULL ) j = atoi( jobs );\ if ( j > 0 ) return j;\

' src/ninja.cc


Baue Ninja mit:


python3 configure.py --bootstrap

python3 configure.py --bootstrap


Die Bedeutung der Build-Option:


--bootstrap

Dieser Parameter zwingt Ninja, sich für das aktuelle System neu zu erstellen.

Um die Ergebnisse zu testen, geben Sie Folgendes aus:


./ninja ninja_test

./ninja_test --gtest_filter=-SubprocessTest.SetWithLots

./ninja ninja_test

./ninja_test --gtest_filter=-SubprocessTest.SetWithLots


Installieren Sie das Paket:


Image

installiere -vm755 ninja /usr/bin/

install -vDm644 misc/bash-completion /usr/share/bash-completion/completions/ninja install -vDm644 misc/zsh-completion /usr/share/zsh/site-functions/_ninja


Top OS Cloud Computing bei OnWorks: