Login
Newsletter
Werbung

Mo, 3. August 2015, 09:17

Software::Distributionen::Debian

Debian wechselt zu GCC 5 und libstdc++6

Bei der vermutlich größten Umstellung bei Debian seit jeher wechselt die Distribution auf die fünfte Version der GNU Compiler Collection GCC. Die sogenannte Transition findet im Unstable-Repository statt und wird mehrere Wochen in Anspruch nehmen.

Software in the Public Interest (SPI)

GCC 5 ist bereits seit geraumer Zeit in Debian Unstable verfügbar, derzeit in Version 5.2. Der Compiler selbst ist auch nicht das Problem bei der Umstellung, sondern die Bibliothek libstdc++6. Diese Bibliothek ist die GNU-Implementierung der Standard-C++-Bibliothek und enthält eine Laufzeitbibliothek für C++-Programme, die mit GCC übersetzt wurden. Einige sprachliche Voraussetzungen von C++11 erfordern Änderungen an einigen C++ Klassen, was bedeutet, dass Änderungen an der ABI erforderlich sind. Das hat zur Folge, dass alle Pakete im Debian-Archiv, die in C++ geschrieben sind, gegen GCC 5 neu gebaut werden müssen.

Wie umfangreich diese bereits Anfang Juli von GCC-Maintainer Matthias Klose vorgestellte Aufgabe ist, verrät ein Blick auf den Transition-Tracker für diese Umstellung. Ein nicht unerhebliches Problem stellt hierbei die Verschachtelung der Abhängigkeiten dar, die in diesem Fall 22 Ebenen tief reicht. Im Debian-Wiki sind weitere Details zur Umstellung zu finden.

Der Vorteil dieser notwendigen ABI-Änderung ist, dass GCC 5 jetzt eine stabile libcxx11-ABI erhielt und C++11 voll unterstützt wird. Bisher war diese Unterstützung als experimentell eingestuft. Für Endanwender, die Debian Unstable als Distribution einsetzen, bedeutet dieser Übergang ein erhöhtes Risiko, ihr System so zu beschädigen, dass es nicht mehr startet. Aktualisierungen in Form von Dist-Upgrades sollten unterbleiben, bis die Transition vorüber ist. Die Installation von einzelnen Paketen erfordert derzeit Kenntnisse, ob die Software von der Umstellung betroffen ist. Ist der Schaden bereits eingetreten, so hilft am ehesten eine Herabstufung der betroffenen Pakete auf den Stand vom 31.7. unter Zuhilfenahme von Debian Snapshots.

Gleichzeitig mit Debian geht auch Ubuntu diese Umstellung an. Ubuntu 15.10 soll bereits GCC 5 voll unterstützen. Das Team beginnt die Arbeiten dazu beim reduzierten Paketbestand von Ubuntu Touch. Für GCC 6, das vermutlich den Standard für Debian 9 »Stretch« darstellen wird, ist keine so umfängliche Transition erforderlich, da dafür keine weiteren Änderungen an der ABI notwendig sind.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung