Whey I essaie d’exécuter le programme Layout Editor (disponible sur ce site ) sur Ubuntu 14.04.1 LTS 64 bits, j’obtiens la sortie suivante dans le terminal:
$ layout
layout: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by layout)
J'ai essayé la commande strings
sur /usr/lib/x86_64-linux-gnu/libstdc++.so.6
comme suit et voici l'entrée et la sortie:
$ 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
Comment puis-je résoudre ce problème, je devine en quelque sorte qu'il est lié à, GCC
mais ne peut pas comprendre comment résoudre le problème. De plus, j'ai essayé un PPA comme suggéré sur Comment utiliser le dernier GCC sur Ubuntu? et il y a une question similaire pour une version plus ancienne d'Ubuntu à GLIBCXX_3.4.15 introuvable . Cependant, après mon exécution, sudo update
je reçois de nombreux avertissements et la liste que j'ai obtenue avec la commande strings ne contenait pas de nouvelles entrées après l'installation gcc 4.9
. J'ai donc purgé le PPA ( Toolchains Test Builds ) avec ppa-purge
. Toute aide, suggestions sur la façon de procéder sont grandement appréciées.
la source
Réponses:
J'avais le même problème lorsque j'essayais de lancer un autre programme et que je trouvais une solution sur StackOverflow .
En gros, il suffit de faire les commandes suivantes: Tout d’abord, installer:
Cela devrait déjà être installé par défaut, mais essayez quand même. Si cela ne résout pas le problème, procédez comme suit:
Je n'ai pas exécuté la commande "dist-upgrade", mais les précédentes l'ont résolue pour moi
la source
dist-upgrade
commeupgrade
proposé et mis à jour mon système avec le dernierlibstdc++
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
apt-repository
updated/usr/lib/x86_64-linux-gnu/libstdc++.so.6
à GLIBCXX_3.4.24 inclus - et en outre, cela met à jour le tout ALL c / c ++ / fortran outils de développement sur votre machineCela m'est arrivé avec anaconda 4.0.0 (comme @mjp l'a déclaré), mais le correctif pour moi était d'exécuter cette commande dans mon environnement:
la source
J'ai eu ce problème - c'est parce
Anaconda2
que je n'avais pas la version GLIBCXX_3.4.20 de quoi que ce soit. Seulement jusqu'à .19, le même que le vôtre.Cependant, la bibliothèque d'Ubuntu l'avait . Donc, je viens de créer un lien symbolique / raccourci dans la bibliothèque Anaconda vers la bibliothèque Linux contenant ce fichier GLIBCXX_3.4.20, remplaçant le précédent, et cela fonctionnait correctement après le redémarrage de l’interface graphique python (Spyder).
Il devrait y avoir un dossier appelé
libstdc++.so.6
dans la bibliothèque Anaconda, qui est ici:~/anaconda2/lib
. Dans ce dossier se trouvent les versions du script / library-code-thing, à l'exception de celle qui vous manque: GLIBCXX_3.4.20Suivez ces étapes pour résoudre le problème:
allez au bon endroit et sauvegardez votre
anaconda2
raccourci actuel (changez le nom pour qu'il ne soit pas écrasé):créez un nouveau raccourci en utilisant la
ln
commande (je suppose que je suis à l'emplacement précédent ~ / anaconda2 / lib):redémarrez spyder / autre interface que vous utilisez
Cela devrait maintenant fonctionner!
la source
J'ai résolu un problème comme celui-ci (mais GLIBCXX_3.4.21) sous CentOS mais il n'est pas dépendant d'os. La bibliothèque fait partie du compilateur gcc, vous devez donc installer ou compiler la version appropriée de gcc. Voici le tableau des versions de gcc et des versions de libstdc ++ approprié:
(la liste complète des versions est ici )
Cela ne dépend pas de la manière d'installer gcc - il peut être installé à partir d'un paquet ou compilé et installé à partir de sources.
Il est possible que les bibliothèques système gcc soient disponibles au lieu d’être nouvellement installées. Donc besoin de spécifier la variable d'environnement où trouver les bibliothèques par exemple en ligne de commande comme ceci:
la source
/usr/lib64/libstdc++.so.6
pour pointer vers la nouvelle version que j'avais à/usr/local/lib64/libstdc++.so.6
cette commande:ln -fs /usr/local/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6
. L'ancienne version reste sans lien pointant vers elle si vous devez revenir en arrière. Un peu de bidouille mais ça marche.J'ai eu cela plusieurs fois au cours des années avec de nombreux forfaits différents. Cela a toujours été résolu par:
Si votre distribution peut être mise à niveau, une nouvelle bibliothèque C ++ sera presque toujours détruite et des éléments de configuration tels que ceux-ci fonctionneront à nouveau. Le problème est presque toujours causé par le fait que votre système ne pointe pas vers la bonne bibliothèque. Dans mon cas, cela est généralement dû au fait de pointer vers une version compilatrice croisée d'une bibliothèque.
la source
before_install:
# Cette solution de contournement est nécessaire pour éviter les erreurs libstdc ++ lors de l'exécution de "extended" hugo avec prise en charge de SASS.
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
installer:
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
J'ai trouvé cette solution ici
la source
la source
cp
et pasln -s
?