Kompilieren unter Linux

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Kompilieren unter Linux

      Weil sich das einige gewünscht haben:

      Ich beschreibe das Kompilieren unter Debian und Derivaten, also auch Ubuntu und Abkömmlinge davon, für andere Systeme die aufrufe für den Paketmanager anpassen.


      Als erstes ein Terminal Fenster öffnen und dort die jeweiligen Kommandos eingeben.

      SERVER


      Als erstes dafür sorgen, dass alle dependencies installiert sind.

      Source Code

      1. [sudo] apt-get install build-essential python bam

      meistens muss das [sudo] vorangestellt werden, in dem Fall das Benutzer passwort eingeben, es wird zwar nicht angezeigt, aber angenommen. Eventuelle Abfragen (möchtest du wirklich diese Pakete installieren) mit Ya beantworten.... Alternativ kann auch die grafische paketverwaltung verwendet werden, aber da ist es mühsamer, weil man zuerst die Pakete suchen muss,...

      Dann in das Verzeichnis mit den teeworlds sources wechseln (mit `cd` und dem pfad) und (ich bevorzuge ein cleanup vorher, das löst auch manche Ungereimtheiten von Seiten des Programmierers.)


      Source Code

      1. bam -j `nproc` -c all

      Source Code

      1. bam -j `nproc` server_release



      alle faulen copy paster können die Zeilen 1:1 übernehmen, alle andere statt dem `nproc` einfach die Zahl der prozessorkerne (inklusive HT) in Form wie 4 eintragen....
      Was macht das ganze: es räumt zuerst mal alles was bam nicht benötigt auf, damit wird man eventuell übersehene Reste los. Danach baut bam den Server zusammen. Das magische '-j `nproc`' liest vorher die Zahl der prozessorkerne aus (nproc) und übergibt diese mit dem Argument '-j' an bam, wodurch der ganze Vorgang wesentlich schneller funktioniert, bei meinem Server fast 12x so schnell, im gesamten unter 3 Sekunden (in Echtzeit als php Script hier [qraut.alkaid.uberspace.de/secret/compile-kf.php] zu betrachten.)

      CLIENT

      dependencies, dependencies,...

      Source Code

      1. [sudo] apt-get install build-essential python bam libsdl1.2-dev libfreetype6-dev alsa
      auch hier eventuell sudo voranstellen und das passwort eingeben, dann geht es analog zum Server weiter, nur am Ende statt server_release client_release, also

      Source Code

      1. bam -j `nproc` -c all

      Source Code

      1. bam -j `nproc` client_release

      im Verzeichnis mit dem Code...
      Falls jemand ein Problem mit meinem skype Namen haben sollte: Es geht hier nicht um Juden, es ist lediglich eine Anlehnung an das Lied "Hey Jude" von den Beatles.

      makeitpersonal.co/lyrics?artist=beatles&title=Hey%20jude

      The post was edited 2 times, last by Schwertspize ().

    • prinzipiell ja, aber man hat andere dependencies..... Ich wollte nur den ersten Teil schon mal abschicken.... (und ich musst ein paar Sachen im Debian repo nachschauen, wie die wirklich heißen, die Pakete)

      und ps: bitte, bitte korrigiert alle Anleitungen und fügt das '-j <Anzahl>' hinzu.... Das beschleunigt tw kompilieren meistens um einiges....
      Falls jemand ein Problem mit meinem skype Namen haben sollte: Es geht hier nicht um Juden, es ist lediglich eine Anlehnung an das Lied "Hey Jude" von den Beatles.

      makeitpersonal.co/lyrics?artist=beatles&title=Hey%20jude
    • Wer so eine Anleitung für Linux braucht, der kennt sich damit nicht aus, sondern will nur schnell was kompilieren.
      Und dieser weiß dann auch nicht, wie man mit dem Terminal umgeht. Ich würde deshalb möglichst viele Parallelen mit Windows herstellen, da das Vorgehen hier bekannt ist.

      Um mal ein Beispiel zu nennen:
      [...] und dann make_unix.sh und mit einem symlink installieren.
      Man lädt sich einfach über den Browser Bam runter, entpackt und kompiliert es mit einem Doppelklick auf "make_unix.sh".

      Machs doch nicht komplizierter als es ist. Zum kompilieren von Teeworlds unter Linux können die gleichen Befehle wie bei Windows genutzt werden. Ich denke nicht, dass es auf 3 oder 20 Sekunden ankommt, zumal der Vorgang unter den oben genannten Gesichtspunkten sowieso nur einmal ausgeführt werden muss.



    • tut mir leid, ich hatte angenommen, wer ein Linux betreibt, und selber kompilieren möchte, kennst sich mit Grundlagen des Terminals aus. Und wer CentOS benützt, der kennt sich normalerweise auch damit aus....

      Soll ich ändern?
      Falls jemand ein Problem mit meinem skype Namen haben sollte: Es geht hier nicht um Juden, es ist lediglich eine Anlehnung an das Lied "Hey Jude" von den Beatles.

      makeitpersonal.co/lyrics?artist=beatles&title=Hey%20jude
    • Jester wrote:

      Schwertspize wrote:

      tut mir leid, ich hatte angenommen, wer ein Linux betreibt, und selber kompilieren möchte, kennst sich mit Grundlagen des Terminals aus.

      Schwertspize wrote:

      meistens muss das [sudo] vorangestellt werden, in dem Fall das Benutzer passwort eingeben, es wird zwar nicht angezeigt, aber angenommen.

      Ja Jesterii richtig erkannt, das hat er danach hinzugefügt!

      @Meskalin: |:3|