/usr/lib/x86_64-linux-gnu/libstdc++.así.6: versión CXXABI_1.3.8′ no encontrado

Recientemente me pidió ayuda https://stackoverflow.com/questions/20253515/no-idea-as-to-usr-lib-x86-64-linux-gnu-libstdc-so-6-version-cxxabi-1-3-8 y fue votada abajo y cerrado (no sé por qué)

Resulta que el «make install» – el objetivo de hacer que se instala y se supone que el objetivo «instalar-objetivo-libstdc++v3» en realidad no significa que usted está listo para ir.

He sido atrapado por un rato preguntándose qué estaba haciendo mal porque supuse que tal hacer de destino hiciera eso por mí.

Espero que esta respuesta ayuda al menos a otra persona.

  • sudo apt-get install gcc-4.9
  • Si el programador que el compilador del programa, usted puede agregar -static para el gcc de la línea de comandos de enlace estático de su programa. ver: stackoverflow.com/questions/13636513/…
  • Yo voto a abrir: esta es la parte superior de google resultado para este mensaje de error, por lo que tener las respuestas congelada es una desventaja real.
  • realmente ha sido cerrado en varias ocasiones – si mal no recuerdo, esta fue mi tercera publicación (en serio) – sin embargo, el error y el «fix» en esta página en realidad no son debidamente tratadas aquí. Sólo un caso específico produciendo el error.
InformationsquelleAutor Alec Teal | 2013-12-03

8 Kommentare

  1. 47

    Para todos aquellos atascado con un problema similar, ejecute el siguiente:

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

    Al compilar e instalar GCC poner las bibliotecas de aquí, pero eso es todo. Como las preguntas frecuentes decir ( http://gcc.gnu.org/onlinedocs/libstdc++/preguntas frecuentes.html#faq.how_to_set_paths ) necesita agregar.

    Supuse «¿Cómo puedo asegurar que la biblioteca de vínculos dinámicos se encuentran? » significa «¿cómo puedo asegurarme de que se encuentra siempre» no «no se encuentra, usted necesita para hacer esto»

    Para aquellos que no molestan a la configuración de un prefijo, que es /usr/local/lib64

    Usted puede encontrar esto mencionado brevemente al instalar gcc si usted lee la marca de salida:

    Libraries have been installed in:
       /usr/local/lib/../lib32
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the `LD_RUN_PATH' environment variable
         during linking
       - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages. 

    Grr que era simple! También «si alguna vez le sucede que desea vincular en contra de la instalación de las bibliotecas» – en serio?

    • Generalmente no desea vincular en contra de las versiones al azar de las bibliotecas que acaba de instalar. Su software no se ejecuta en cualquier otra máquina. Por lo general es mejor utilizar las versiones más antiguas de las bibliotecas que se incluyen con el sistema operativo. Si usted necesita para construir bibliotecas, a continuación, tendrá que incluir la totalidad de ellos a la hora de distribuir su software. Y si el software está en otra biblioteca que está vinculada a otra biblioteca que es el uso de una tercera versión de libstdc++, a continuación, el programa no es sólo va a trabajar.
    • no es que el punto de la .x.y.z tenemos? Así que no es al azar? Supongo que no todo lo que se especifica una versión (de ahí el enlace predeterminada) a la derecha?
    • ¿Qué pasa si el directorio /usr/local/lib64 no existe? Tengo libstdc++6 y gcc 4.8 instalado.
    • a continuación, sólo lib, supuse que tendría un sistema de 64 bits
    • Tengo un sistema de 64 bits. Me sale el mismo error, no importa si puedo agregar /usr/local/lib o /usr/local/lib64 (que aún no existe) a mi camino. La biblioteca parece ser que se encuentra en /usr/lib/x86_64-linux-gnu/libstdc++.así.6, pero no ayuda a añadir esto a la ruta de acceso de cualquiera. Tal vez esto tiene que ser su propia pregunta.
    • entonces usted necesita para enviar una pregunta, sí
    • El problema es que usted no quiere que todos los programas para vincular en contra de la nueva lib en tiempo de ejecución, que es lo que LD_LIBRARY_PATH hace. Consulte xahlee.info/UnixResource_dir/_/ldpath.html
    • este trabajo para mí. conda instalar -c anaconda tensorflow
    • Tipo de trabajo pero no tengo que /usr/local/lib64, sólo /usr/local/lib así que mi programa es tirar el otro error
    • trabajando con GCC demasiado? O está usted aquí por el mismo problema en un área diferente? He encontrado esto en GCC salida (desplácese hasta un poco cuando se hace) – ver hat tuyo dice.
    • corrió hacia ella después de intentar actualizar una aplicación con la que resulta haber sido compilados en 4.9. Yo todavía estaba en Mint 17 (ubuntu14.04), que ha 4.8. Han terminado haciendo una actualización completa de Menta 18.3 lugar de su manejo de la biblioteca de rutas y tal

  2. 20

    Tuve el mismo problema en mi Ubuntu 14.04 cuando traté de instalar TopTracker. Me dieron errores:

    /usr/share/toptracker/bin/TopTracker:
    /usr/lib/x86_64-linux-gnu/libstdc++.así.6: la versión de ‘CXXABI_1.3.8’ no
    encontrado (requerido por /usr/share/toptracker/bin/TopTracker)
    /usr/share/toptracker/bin/TopTracker:
    /usr/lib/x86_64-linux-gnu/libstdc++.así.6: la versión de ‘GLIBCXX_3.4.21’ no
    encontrado (requerido por /usr/share/toptracker/bin/TopTracker)
    /usr/share/toptracker/bin/TopTracker:
    /usr/lib/x86_64-linux-gnu/libstdc++.así.6: la versión de ‘CXXABI_1.3.9’ no
    encontrado (requerido por /usr/share/toptracker/bin/TopTracker)

    Pero luego de instalar gcc 4.9 versión y el problema ha ido:

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

    Tengo solución correcta aquí.

    La mejor manera correcta de instalar gcc-4.9 y establecerla como predeterminada la versión de gcc uso:

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-4.9 g++-4.9
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9

    –El esclavo, con g++, causará g++ para cambiarse junto con gcc, a la misma versión. Pero, en este punto gcc-4.9 será su única versión configurada en las alternativas de actualización, por lo que añadir 4.8 a las alternativas de actualización, por lo que hay realmente es una alternativa, mediante el uso de:

    sudo apt-get install gcc-4.8 g++-4.8
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

    Entonces usted puede comprobar que uno que se establece, y cambiar de ida y vuelta utilizando:

    sudo update-alternatives --config gcc

    NOTA: puede omitir la instalación del Repositorio PPA y sólo usar /usr/bin/gcc-4.9-base pero yo prefiero usar la fresca actualizada toolchains.

    • No funciona. Sigue dando el mismo error.
    • ¿qué pasa si no tengo sudo acceso? entonces, ¿cómo puede implementar su enfoque?
  4. 2

    Esta solución funciona en mi caso estoy usando ubuntu 16.04, VirtualBox 2.7.2 y genymotion 2.7.2
    Mismo error en mi sistema que he seguido paso simple y mi problema era resolver

    1. $ LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
    2. $ export LD_LIBRARY_PATH
    3. $ sudo apt-add-repository ppa:ubuntu-toolchain-r/test
    4. $ sudo apt-get update
    5. $ sudo apt-get install gcc-4.9 g++-4.9

    Espero que esto funcionará para usted

  5. 1

    Lo que las otras respuestas sugieren trabajo para el programa en cuestión,
    pero tiene el potencial de causar la rotura en otros programas y desconocidos de la dependencia en otros lugares. Es mejor hacer un pequeño contenedor de secuencia de comandos:

    #!/bin/sh
    export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
    program_needing_different_run_time_library_path

    Esto sobre todo se evita el problema que se describe en Por qué LD_LIBRARY_PATH es malo por el confinamiento de los efectos que el programa que necesita.

    Tenga en cuenta que a pesar de los nombres LD_RUN_PATH obras en el enlace en tiempo y no es malo, mientras que LD_LIBRARY_PATH obras en tanto link y el tiempo de ejecución (y es mal :).

  6. 0

    Me encontré con este problema en mi Ubuntu-64 sistema al intentar importar fst dentro de python como tal:

        Python 3.4.3 |Continuum Analytics, Inc.| (default, Jun  4 2015, 15:29:08)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import fst
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/ogi/miniconda3/lib/python3.4/site-packages/pyfst-0.2.3.dev0-py3.4-linux-x86_64.egg/fst/__init__.py", line 1, in <module>
        from fst._fst import EPSILON, EPSILON_ID, SymbolTable,\
    ImportError: /home/ogi/miniconda3/lib/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/lib/libfst.so.1)

    Me corrieron:

    [email protected]:~/miniconda3/lib$ find ~/ -name "libstdc++.so.6"
    /home/ogi/miniconda3/lib/libstdc++.so.6
    /home/ogi/miniconda3/pkgs/libgcc-5-5.2.0-2/lib/libstdc++.so.6
    /home/ogi/miniconda3/pkgs/libgcc-4.8.5-1/lib/libstdc++.so.6
    find: `/home/ogi/.local/share/jupyter/runtime': Permission denied
    [email protected]:~/miniconda3/lib$
    
    mv /home/ogi/miniconda3/lib/libstdc++.so.6 /home/ogi/miniconda3/libstdc++.so.6.old
    cp /home/ogi/miniconda3/libgcc-5-5.2.0-2/lib/libstdc++.so.6 /home/ogi/miniconda3/lib/

    Punto en el cual yo era entonces capaz de cargar la biblioteca de

    [email protected]:~/miniconda3/lib$ python
    Python 3.4.3 |Continuum Analytics, Inc.| (default, Jun  4 2015, 15:29:08)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import fst
    >>> exit()

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea