{"id":19810,"date":"2025-08-23T09:11:30","date_gmt":"2025-08-23T07:11:30","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=19810"},"modified":"2025-08-23T09:13:27","modified_gmt":"2025-08-23T07:13:27","slug":"kompilieren-unter-linux-ein-kurzer-ueberblick","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2025\/08\/23\/kompilieren-unter-linux-ein-kurzer-ueberblick\/","title":{"rendered":"Kompilieren unter Linux &#8211; Ein kurzer \u00dcberblick"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Insbesondere Linux-Einsteiger werden in diversen Foren u.a. mit Begriffen wie kompilieren konfrontiert. Allein schon das Terminal stellt f\u00fcr so manchen ein Potemkinsches Dorf dar und verunsichert nicht wenige&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Kompilieren unter Linux wird der Quellcode eines Programms \u2013 also die von Menschen lesbaren Programmbefehle \u2013 in eine f\u00fcr den Computer ausf\u00fchrbare Datei umgewandelt. Dieser Prozess ist ein zentraler Schritt in der Software-Entwicklung: Erst so kann ein Programm tats\u00e4chlich auf dem Rechner laufen.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Wie funktioniert das Kompilieren?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Kompilieren erfolgt typischerweise in drei Schritten, wenn ein Programm aus den Quellen gebaut wird:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>I. Konfigurieren (.\/configure)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit diesem Schritt wird das Programm f\u00fcr das Zielsystem angepasst. Abh\u00e4ngigkeiten werden gepr\u00fcft, die Umgebung konfiguriert und die Einstellungen f\u00fcr den Compiler vorbereitet. Viele Projekte bieten ein configure-Skript, mit dem weitere Einstellungen vorgenommen werden k\u00f6nnen \u2013 etwa Installationspfad oder Zusatzfunktionen (&#8211;enable-xyz bzw. &#8211;disable-xyz).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>II. Kompilieren (make)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit make wird der eigentliche Kompilierprozess gestartet. Hier wandelt der Compiler (meist gcc) den Quelltext in Maschinencode um und erzeugt die ausf\u00fchrbare Datei.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>III. Installieren (make install)<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das kompilierte Programm wird auf dem System installiert \u2013 die erzeugten Dateien werden an die vorgesehenen Orte kopiert und evtl. noch weitere Konfigurationsschritte vorgenommen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die vorgenannten Schritte sind nur ein grober \u00dcberblick &#8211; also keine vollst\u00e4ndige Darstellung.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Warum selber kompilieren?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eine berechtigte Frage.<br>Es gibt verschiedene Gr\u00fcnde, Software &#8211; unter Linux &#8211; selbst zu kompilieren:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211; Die ben\u00f6tigte Software ist nicht als fertiges Paket verf\u00fcgbar<br>&#8211; Optimale Anpassung an die eigene Hardware<br>&#8211; Mehr Performance und Sicherheit &#8211; besonders beim Kernel<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Nachteile<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Komplexit\u00e4t des Prozesses:<br>Gerade neue Linux-Benutzer sind mit den vielen Schritten und Einstellungen beim Kompilieren schnell \u00fcberfordert. Es reicht nicht, ein paar Befehle einzugeben \u2013  Vorkenntnisse sind n\u00f6tig, um etwa Module und Treiber korrekt auszuw\u00e4hlen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Manuelle Verwaltung von Abh\u00e4ngigkeiten:<br>Man muss selbst sicherstellen, dass alle ben\u00f6tigten Bibliotheken und Programme installiert sind.<br>Fehlt etwas, kommt es zu Fehlermeldungen, die oft schwierig zu interpretieren sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fehleranf\u00e4lligkeit:<br>Schon kleine Konfigurationsfehler f\u00fchren dazu, dass Software nicht richtig funktioniert oder sich gar nicht kompilieren l\u00e4sst. Die Fehlersuche kann mitunter m\u00fchsam und zeitintensiv sein.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u00e4ngerer Installations- und Update-Aufwand:<br>F\u00fcr Updates muss die Software erneut selbst kompiliert werden, manchmal inklusive aller Abh\u00e4ngigkeiten. Ein automatisches Update wie bei Paketmanagern gibt es nicht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zeitaufwand:<br>Das Kompilieren \u2013 besonders von gro\u00dfen Programmen wie dem Linux-Kernel \u2013 dauert auf normalen Rechnern oft Stunden.<br>W\u00e4hrenddessen sind viele Schritte n\u00f6tig, die die Geduld strapazieren k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Risiko f\u00fcr das eigene System:<br>Durch Fehler bei der Installation oder Konfiguration besteht das Risiko, das eigene System unbrauchbar zu machen.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Anmerkung<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Backup der wichtigsten Daten sowie ein System-Backup wird dringend empfohlen. <br>Das Kompilieren sollte die Ausnahme bleiben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Titelbild: <a href=\"http:\/\/www.freepik.com\">Designed by Graphiqastock \/ Freepik<\/a><\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"19810\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">16    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"19810\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Insbesondere Linux-Einsteiger werden in diversen Foren u.a. mit Begriffen wie kompilieren konfrontiert. Allein schon das Terminal stellt f\u00fcr so manchen ein Potemkinsches Dorf dar und verunsichert nicht wenige&#8230; Beim Kompilieren unter Linux wird der Quellcode eines Programms \u2013 also die von Menschen lesbaren Programmbefehle \u2013 in eine f\u00fcr den Computer ausf\u00fchrbare Datei umgewandelt. Dieser Prozess [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":19811,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17,4],"tags":[1345],"class_list":["post-19810","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-system","category-terminal","tag-kompilieren"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/19810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=19810"}],"version-history":[{"count":6,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/19810\/revisions"}],"predecessor-version":[{"id":19817,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/19810\/revisions\/19817"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/19811"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=19810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=19810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=19810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}