GNU/Linux >> Tutoriels Linux >  >> Linux

/usr/lib/x86_64-linux-gnu/libstdc++.so.6 :version CXXABI_1.3.8' introuvable

Ajouter le chemin de la bibliothèque au LD_LIBRARY_PATH variable d'environnement

TL;DR

GCC vous demande de lui indiquer manuellement où se trouve votre bibliothèque lorsqu'il ne peut pas trouver la bonne version, ce qui peut être fait de plusieurs manières. On l'ajoute au LD_LIBRARY_PATH .

export LD_LIBRARY_PATH="/usr/local/lib64/:$LD_LIBRARY_PATH"

Pour certains, le chemin de la bibliothèque sera /usr/local/lib64/ . D'autres ont signalé le chemin de la bibliothèque /usr/lib/x86_64-linux-gnu/ travailler pour eux à la place.

Pourquoi devons-nous ajouter la bibliothèque à LD_LIBRARY_PATH ?

Lorsque vous compilez et installez GCC, il place les bibliothèques dans l'un de ces répertoires, mais c'est tout ce qu'il fait. D'après la FAQ pour libstdc++ , l'erreur que nous avons obtenue signifie que l'éditeur de liens dynamique a trouvé la mauvaise version du libstdc++ bibliothèque partagée. Parce que l'éditeur de liens ne peut pas trouver la bonne version, nous devons lui dire où trouver le libstdc++ bibliothèque.

Le moyen le plus simple de résoudre ce problème consiste à utiliser la variable d'environnement LD_LIBRARY_PATH, qui est une liste de répertoires séparés par deux-points dans lesquels l'éditeur de liens recherchera des bibliothèques partagées.

Il existe également d'autres moyens de résoudre ce problème. Vous pouvez trouver cela et les autres solutions mentionnées brièvement lorsque vous installez gcc si vous lisez la sortie make :

Des bibliothèques ont été installées dans :

/usr/local/lib/../lib32

S'il vous arrive de vouloir lier des bibliothèques installées dans un répertoire donné, LIBDIR, vous devez soit utiliser libtool et spécifier le chemin d'accès complet de la bibliothèque, soit utiliser le drapeau `-LLIBDIR' pendant la liaison et faire au moins une des suivant :

  • ajouter LIBDIR à la variable d'environnement `LD_LIBRARY_PATH' lors de l'exécution
  • ajoutez LIBDIR à la variable d'environnement `LD_RUN_PATH' lors de la liaison
  • utiliser l'indicateur de lien `-Wl,-rpath -Wl,LIBDIR'
  • demandez à votre administrateur système d'ajouter LIBDIR à `/etc/ld.so.conf'

Consultez la documentation du système d'exploitation sur les bibliothèques partagées pour plus d'informations, telles que les pages de manuel ld(1) et ld.so(8).

Grr, c'était simple ! De plus, "si jamais vous voulez créer un lien avec les bibliothèques installées", sérieusement ?


J'ai eu le même problème sur mon Ubuntu 14.04 lorsque j'ai essayé d'installer TopTracker. J'ai eu de telles erreurs :

/usr/share/toptracker/bin/TopTracker:/usr/lib/x86_64-linux-gnu/libstdc++.so.6 :version 'CXXABI_1.3.8' introuvable (requis par /usr/share/toptracker/bin/TopTracker)/ usr/share/toptracker/bin/TopTracker:/usr/lib/x86_64-linux-gnu/libstdc++.so.6 :version 'GLIBCXX_3.4.21' introuvable (requis par /usr/share/toptracker/bin/TopTracker)/usr /share/toptracker/bin/TopTracker:/usr/lib/x86_64-linux-gnu/libstdc++.so.6 :version 'CXXABI_1.3.9' introuvable (requis par /usr/share/toptracker/bin/TopTracker)

Mais j'ai ensuite installé la version 4.9 de gcc et le problème a disparu :

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9

Linux
  1. Pourquoi les utilitaires Webp construits sur Ubuntu 14.04 ne fonctionnent-ils pas et affichent-ils une erreur de bibliothèque ?

  2. Installer les binaires dans /bin, /sbin, /usr/bin et /usr/sbin, interactions avec --prefix et DESTDIR

  3. Quelle est la différence entre #!/usr/bin/env bash et #!/usr/bin/bash ?

  4. zsh :commande introuvable laravel

  5. cmake --version pointe vers /usr/bin/cmake tandis que cmake pointe vers /usr/local/bin

/usr/bin Vs /usr/local/bin Sous Linux ?

Linux – /sbin/init n'existe pas ?

gcc - /usr/bin/ld erreur :impossible de trouver <library> dans /usr/local/lib bien que ldconfig le liste et le chemin ajouté à ld.so.conf

matlab sur Linux ne peut rien tracer (impossible de charger libstdc++.so.6 :version `CXXABI_1.3.8' introuvable)

Un moyen de résoudre la version `GLIBC_2.17' introuvable ?

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?