Es ist in der Linuxwelt ein gängiges Verfahren, Programme im Quellcode und mit einem Compilierungsskript bereitzustellen. Die für die Compilierung bereitgestellten Hilfsmittel können je nach Sprache unterschiedlich sein und sind nicht immer völlig unproblematisch zu verwenden.
Die Compilierung von C, C++ und Objective C gelingt mir auf Linuxrechnern meist problemlos. Das liegt auch daran, dass das benötigte Hilfsprogram make auf den meisten Linuxsystemen vorinstalliert ist. Wenn das zu compilierende Programm nicht irgendwelche sehr speziellen Programmbibliotheken erfordert, gelingt die Compilierung mit make oft auf Anhieb. Andernfalls müssen vorbereitend die erforderlichen Bibliotheken installiert werden.
Wenn an Stelle von make das Hilfsprogramm CMake verwendet wird, ist die Situation geringfügig anders: CMake muss auf vielen Systemen zunächst installiert werden. Unter Umständen müssen auch die Skriptdateien angepasst werden.
Das Compilieren mit selten verwendeten oder mit sehr neuen Hilfsprogrammen (z.B. Meson) kann problematischer sein; diese Hilfspogramme müssen meist zunächst installiert werden und ändern sich oft auch noch ziemlich häufig.
Die Compilierung von Java mit dem Hilfsprogramm ant funktioniert oft recht gut; die Compilierung sehr neuer Java-Programme mit einem alten SDK wird aber in der Regel fehlschlagen, weil Java gegenwärtig einen Modernisierungsprozess durchläuft, der gelegentlich Versionsprobleme verursacht.
Die Compilierung von C# mit dem Entwicklungssystem mono hat in der Vergangenheit immer wieder mal Probleme verursacht, die auf Änderungen in der Programmiersprache und ihren Bibliotheken zurückzuführen waren. Außerdem vernachlässigen die Entwickler von mono bekanntermaßen die Tests und die Qualitätssicherung.
Die Compilierung alter Ada-Programme mit einer neuen Version des GNAT Ada Compilers kann Fehlermeldungen verursachen, die bei den älteren Compilern nicht aufttraten; in dieser Situation hilft nur entweder die sachverständige Überarbeitung des Programms oder das Zurückgehen auf eine ältere Compilerversion.
Die Compilierung sehr alter Programme ist öfter mal schwierig, wenn Programmbibliotheken vorausgesetzt werden, die auf neueren Linuxsystemen garnicht mehr oder nur noch in einer neueren, inkompatiblen Version bereitgestellt werden oder wenn der aktuelle Compiler strenger prüft als dies ältere Compiler taten.
Wenn du selbst compilieren musst, ist der augenblickliche Erfolg also nicht garantiert; mit einiger Erfahrung und dem erforderlichen Know-How ist es aber oft möglich, auftretende Fehler zu beheben.