web-dev-qa-db-fra.com

libstdc ++. so.6: version 'GLIBCXX_3.4.20' introuvable

Pour télécharger les lectures brutes> 2 Go vers SRA sur Genebank, j'ai installé le plug-in Aspera Connect sur Ubuntu 16.04. Mais le plug-in n'apparaît pas comme indiqué par les instructions sur le portail SRA de la banque de gènes. 

J'ai eu cette erreur sur le terminal lorsque j'ai initialisé le plug-in localement (~/.aspera/connect/bin/asperaconnect):

lib/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/x86_64-linux-gnu/libproxy.so.1)
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so

J'ai suivi certains des fils de discussion, créé un lien vers /usr/lib/libstdc++.so.6 mais cela n'a pas résolu le problème, mais le message d'erreur ci-dessus est toujours affiché. running strings /usr/lib/libstdc++.so.6 | grep GLIBCXX a obtenu ceci:

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_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_DEBUG_MESSAGE_LENGTH

GLIBCXX_3.4.20 est dans la liste . Je ne sais pas comment faire en sorte que le plug-in le reconnaisse.

Merci, Xp

6
Xp.L

Étant donné que /usr/lib/x86_64-linux-gnu/libproxy.so.1 est fourni par Ubuntu, supposons qu’il soit compatible avec la bibliothèque système libstdc ++. Cela signifie que l'application n'utilise pas réellement cette bibliothèque système, mais une autre version. Je suggérerais de vérifier si l'application définit LD_LIBRARY_PATH et s'il y a une autre copie de libstdc++.so.6 sur ce chemin. Dans ce cas, essayez de l'éloigner ou de le supprimer. L'application doit alors basculer vers la bibliothèque système, qui est plus récente et compatible avec les versions antérieures.

3
Florian Weimer

Voici une solution à ce problème dans Ubuntu 16.04

Sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Sudo apt-get update
Sudo apt-get install gcc-4.9
Sudo apt-get upgrade libstdc++6

Vous pouvez vérifier si vous avez la version souhaitée de GLIBCXX comme ceci:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
16

J'ai résolu un problème comme celui-ci (mais GLIBCXX_3.4.21 sur 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. Ceci est un tableau des versions de gcc et des versions de libstdc++ approprié:

GCC 4.9.0: libstdc++.so.6.0.20
GCC 5.1.0: libstdc++.so.6.0.21
GCC 6.1.0: libstdc++.so.6.0.22
GCC 7.1.0: libstdc++.so.6.0.23
GCC 7.2.0: libstdc++.so.6.0.24
GCC 8.0.0: libstdc++.so.6.0.25

(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:

$ LD_LIBRARY_PATH=/usr/local/lib64 command args ...
3
oklas

répondre pour les paresseux, cela devrait régler la situation dans la plupart des cas

apt-get update && apt-get install Sudo && \
Sudo apt-get install build-essential software-properties-common -y && \
Sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
Sudo add-apt-repository ppa:george-edison55/cmake-3.x -y && \
Sudo apt-get update && \
Sudo apt-get install gcc-snapshot -y && \
Sudo apt-get update && \
Sudo apt-get install gcc-6 g++-6 -y && \
Sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
Sudo apt-get install gcc-4.8 g++-4.8 -y && \
Sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 && \
Sudo update-alternatives --config gcc && \
Sudo apt-get update && \
Sudo apt-get install cmake -y;
1
Ill.forte