Comment réparer: /usr/lib/libstdc++.donc.6: la version " GLIBCXX_3.4.15' non trouvé

Donc, je suis maintenant désespérée de trouver une solution pour ce. Je suis de la compilation d'une bibliothèque partagée .ainsi, dans Ubuntu 32 bits (Ont essayé de le faire sous Debian et Ubuntu 64 bits, mais aucune n'a fonctionné non plus)

Je reçois: /usr/lib/libstdc++.so.6: version ``GLIBCXX_3.4.15' not found chaque fois que j'essaie de charger mon plugin.

Voici comment j'obtiens cette erreur:

  1. Installez la dernière version d'Ubuntu 32 bits
  2. sudo apt-get install build-essential
  3. Compiler & charger mon plugin (.donc)

Voici quelques liens que j'ai trouvé et essayé, mais aucun n'a fonctionné pour moi:

(Ma vieille question: j'ai de toute façon j'ai corrigé quelques jours après la publication de cette question, mais je ne me souviens plus exactement comment je l'ai fait)

Ma Question

Un autre utilisateur avec le même problème

Et un autre

Je vois certaines personnes, fixé par le déménagement de la bibliothèque libstdc++(je pense) dans un répertoire, puis en pointant du doigt ou en reliant idk quoi ce répertoire, mais cela me laisse perplexe.

Quelqu'un connais une solution?

(Edit:)
- En cours d'exécution: strings /usr/lib/libstdc++.so.6 | grep GLIBC dans le terminal me donne: strings '/usr/lib/libstdc++.so.6': No such file. Pourrait-il être le problème? Et si oui, comment puis-je installer cette bibliothèque?

(Edit2:) tout le monde sait de une solution?

(Edit3) a Toujours pas de solution. est-il possible de voir sur qui distro une bibliothèque partagée a été compilé? Je sais que j'ai une fois compilé cette même bibliothèque, il y a un moment, mais ne me souviens pas!!

(Edit4) ldd my_lib_.so me donne:

    linux-gate.so.1 =>  (0xb77d7000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb76c1000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb76a4000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74fa000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb74ce000)
    /lib/ld-linux.so.2 (0xb77d8000)

ldd program_im_loading_so_into me donne:

    linux-gate.so.1 =>  (0xb77d8000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb77c0000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb77a5000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb76bb000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb768f000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7672000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb74c9000)
    /lib/ld-linux.so.2 (0xb77d9000)

de course strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep GLIBCXX me donne:

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

et enfin, voici ma version de gcc:

`gcc version 4.6.4 (Ubuntu/Linaro 4.6.4-1ubuntu1~12.04)`
  • Si vous exécutez "nm" à l'encontre de votre bibliothèque, qu'il ne montre aucune dépendance sur GLIBC3.4.15 ? Avez-vous essayez d'installer âgées libstdc++, construit avec les anciennes version de la glibc?
  • Hey, j'ai obtenu ce lors de l'exécution nm: U_ZNSt8__detail15_List_node_base7_M_hookEPS0_@@GLIBCXX_3.4.15 U _ZNSt8__detail15_List_node_base9_M_unhookEv@@GLIBCXX_3.4.15 et je viens d'installer toutes les bibliothèques(qui se trouve dans le ubuntu app manager) se terminant par 6.x.x et même de les installer libstdc++5, mais il ne fonctionne toujours pas. Reçois la même erreur
  • Peut-être que vous avez quelques copie supplémentaire du libstdc++ dans des répertoire? Sur debian, vous devriez l'avoir dans /usr/lib/i386-linux-gnu
  • Salut. J'ai couru locate libstdc++.so.6 et le suivant: /usr/lib/i386-linux-gnu/libstdc++.so.6 et /usr/lib/i386-linux-gnu/libstdc++.so.6.0.18. Je suppose que cela signifie qu'il n'y a pas d'autre libstdc++ dans des répertoires?
  • Pourriez-vous ajouter les résultats de ldd your.so, ldd program_youre_loading_so_into et strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep GLIBCXX et votre version de gcc?
  • Êtes-vous lier votre plugin avec certains fichiers de l'objet, qui ont été compilées ailleurs? Aussi, êtes-vous la modification de l'environnement en aucune façon avant d'essayer de charger le plugin? Êtes-vous sûr que vous avez utilisé le même compilateur pour compiler le plugin et le programme qui est en cours de chargement il? Qu'est-ce que la sortie de LD_DEBUG=all program_im_loading_so_into ?
  • C'est une question de la FAQ: gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths

InformationsquelleAutor user1667191 | 2013-10-15