Änderung der C++-ABI
10.12.2015 – stefanhusmann
GCC 5.x enthält eine libstdc++ mit Unterstützung zweier ABIs, und Arch Linux verwendet jetzt die neue ABI.
Obwohl die alte C++ ABI immer noch da ist, wird empfohlen, alle Pakete, die nicht aus offiziellen Repos stammen, neu zu kompilieren. Insbesondere bei indirekten Abhängigkeiten zu Bibliotheken, die schon die neue ABI verwenden, kann dies nötig sein. Mit dem folgenden Skript kann man sich eine Liste der betroffenen Pakete generieren lassen:
zum Archiv KommentareObwohl die alte C++ ABI immer noch da ist, wird empfohlen, alle Pakete, die nicht aus offiziellen Repos stammen, neu zu kompilieren. Insbesondere bei indirekten Abhängigkeiten zu Bibliotheken, die schon die neue ABI verwenden, kann dies nötig sein. Mit dem folgenden Skript kann man sich eine Liste der betroffenen Pakete generieren lassen:
#!/bin/bash
while read pkg; do
mapfile -t files < <(pacman -Qlq $pkg | grep -v /$)
grep -Fq libstdc++.so.6 "${files[@]}" 2>/dev/null && echo $pkg
done < <(pacman -Qmq)