Whey Ich versuche, das Programm Layout Editor (auf dieser Site verfügbar ) auf Ubuntu 14.04.1 64-Bit-LTS auszuführen. Ich erhalte die folgende Ausgabe im Terminal:
$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)
Ich habe versucht , den Befehl strings
auf , /usr/lib/x86_64-linux-gnu/libstdc++.so.6
wie folgend und hier der Eingang und der Ausgang:
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
Wie kann ich dieses Problem lösen? Ich vermute, dass es damit zusammenhängt GCC
, kann aber nicht herausfinden, wie das Problem behoben werden kann. Außerdem habe ich versucht, eine PPA wie vorgeschlagen auf Wie verwende ich die neueste GCC auf Ubuntu? und es gibt eine ähnliche frage für eine ältere version von Ubuntu bei GLIBCXX_3.4.15 nicht gefunden . Nachdem ich ausgeführt sudo update
habe, erhalte ich jedoch zahlreiche Warnungen und die Liste, die ich mit dem Befehl strings erhalten habe, enthielt nach der Installation keine neuen Einträge. Daher gcc 4.9
habe ich die PPA ( Toolchains Test Builds ) mit gelöschtppa-purge
. Hilfe und Vorschläge zur weiteren Vorgehensweise sind sehr willkommen.
quelle
Antworten:
Ich hatte das gleiche Problem, als ich versuchte, ein anderes Programm auszuführen, und fand eine Lösung für StackOverflow .
Führen Sie einfach die folgenden Befehle aus: Installieren Sie zunächst:
Dies sollte bereits standardmäßig installiert sein, aber versuchen Sie es trotzdem. Wenn es das Problem nicht löst, gehen Sie wie folgt vor:
Ich habe den Befehl "dist-upgrade" nicht ausgeführt, aber die vorherigen haben ihn für mich gelöst
quelle
dist-upgrade
wieupgrade
vorgeschlagen und aktualisiert mein System mit dem neuestenlibstdc++
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
apt-repository
aktualisiert/usr/lib/x86_64-linux-gnu/libstdc++.so.6
bis einschließlich GLIBCXX_3.4.24 - und außerdem diese aktualisiert basicall ALL c / c ++ / Fortran Entwicklungstools auf Ihrem ComputerEs passierte mir mit Anaconda 4.0.0 (wie @mjp feststellte), aber der Fix für mich bestand darin, diesen Befehl in meiner Umgebung auszuführen:
quelle
Ich hatte dieses Problem - es lag daran,
Anaconda2
dass ich nicht die GLIBCXX_3.4.20-Version von dem hatte, was das Ding ist. Nur bis zu .19, genau wie bei Ihnen.Ubuntus Bibliothek hatte es jedoch . Also habe ich gerade einen Softlink / eine Verknüpfung in der Anaconda-Bibliothek zu der tatsächlichen Linux-Bibliothek erstellt, die GLIBCXX_3.4.20 enthält und die vorherige ersetzt. Nach dem Neustart der Python-GUI (Spyder) hat dies problemlos funktioniert.
Es sollte so genannten Ordner
libstdc++.so.6
in der Anaconda - Bibliothek, die hier:~/anaconda2/lib
. In diesem Ordner befinden sich die Versionen des Skripts / Bibliothekscodes, mit Ausnahme derjenigen, die Sie vermissen: GLIBCXX_3.4.20Befolgen Sie diese Schritte, um das Problem zu beheben:
Gehen Sie zum richtigen Speicherort und sichern Sie Ihre aktuelle
anaconda2
Verknüpfung (ändern Sie ihren Namen, damit sie nicht überschrieben wird):erstelle eine neue Verknüpfung mit dem
ln
Befehl (ich gehe davon aus, dass ich mich am vorherigen Ort befinde ~ / anaconda2 / lib):Starten Sie die von Ihnen verwendete Spyder / andere Schnittstelle neu
Es sollte jetzt funktionieren!
quelle
Ich habe dieses Problem (aber GLIBCXX_3.4.21) auf CentOS gelöst, aber es ist nicht von OS abhängig. Die Bibliothek ist Teil des gcc-Compilers. Sie müssen daher die entsprechende Version von gcc installieren oder kompilieren. Dies ist eine Tabelle mit Versionen von gcc und Versionen der entsprechenden libstdc ++:
(vollständige Liste der Versionen ist hier )
Es hängt nicht davon ab, wie gcc installiert wird - es kann aus einem Paket installiert oder aus Quellen kompiliert und installiert werden.
Es ist möglich, dass System-GCC-Bibliotheken verfügbar sind, anstatt neu installiert zu werden. Geben Sie daher die Umgebungsvariable an, in der sich Bibliotheken befinden, beispielsweise in der folgenden Befehlszeile:
quelle
/usr/lib64/libstdc++.so.6
auf die neuere Version zu verweisen ich hatte/usr/local/lib64/libstdc++.so.6
mit diesem Befehl:ln -fs /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
. Die alte Version enthält keinen Link, der darauf verweist, wenn Sie zurücksetzen müssen. Ein bisschen hacken, aber es funktioniert.Ich habe das im Laufe der Jahre viele Male mit vielen verschiedenen Paketen erlebt. Es wurde immer gelöst von:
Wenn Ihre dist aktualisierbar ist, wird fast immer eine neue C ++ - Bibliothek heruntergefahren und Dinge neu konfiguriert, so dass sie wieder funktionieren. Das Problem wird fast immer dadurch verursacht, dass Ihr System nicht auf die richtige Bibliothek verweist. In meinem Fall in der Regel durch den Verweis auf eine Cross-Compiler-Version einer Bibliothek verursacht.
quelle
before_install:
# Diese Problemumgehung ist erforderlich, um libstdc ++ - Fehler beim Ausführen von "extended" hugo mit SASS-Unterstützung zu vermeiden.
wget -q -O libstdc++6 http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
sudo dpkg --force-all -i libstdc++6
Installieren:
wget -q -O hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.46/hugo_extended_0.46_Linux_64bit.deb
sudo dpkg -i hugo.deb
Ich habe diese Lösung hier gefunden
quelle
quelle
cp
nichtln -s
?