how - Cómo corregir:[nombre del programa]/usr/lib/x86_64-linux-gnu/libstdc++.so.6: versión CXXABI_1.3.8 ''no encontrada(requerida por[nombre del programa])
how to run c program (8)
Hace poco pedí 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 se downvoted y cerrado (no sé por qué)
Resulta que "make install" - el objetivo make que se instala e implica que el objetivo "install-target-libstdc ++ v3" en realidad no significa que esté listo para funcionar.
Estuve atascado un tiempo preguntándome qué estaba haciendo mal porque asumí que un objetivo de ese tipo haría eso por mí.
Espero que esta respuesta ayude al menos a otra persona.
Esta solución funciona en mi caso, estoy usando ubuntu 16.04, VirtualBox 2.7.2 y genymotion 2.7.2 El mismo error viene en mi sistema, he seguido paso simple y mi problema fue 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 funcione para tí
Lo que las otras respuestas sugieren funcionará para el programa en cuestión, pero tiene el potencial de causar rupturas en otros programas y dependencia desconocida en otros lugares. Es mejor hacer un pequeño script de envoltura:
#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
program_needing_different_run_time_library_path
Esto sobre todo evita el problema descrito en xahlee.info/UnixResource_dir/_/ldpath.html al confinar los efectos al programa que los necesita.
Tenga en cuenta que a pesar de los nombres LD_RUN_PATH funciona en tiempo de enlace y no es malo, mientras que LD_LIBRARY_PATH funciona tanto en el enlace como en el tiempo de ejecución (y es malo :).
Me encontré con este problema en mi sistema Ubuntu-64 cuando intento 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)
Entonces corrí:
ogi@ubuntu:~/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
ogi@ubuntu:~/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/
En ese momento, pude cargar la biblioteca
ogi@ubuntu:~/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()
Para todos los que tienen un problema similar, ejecute lo siguiente:
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
Cuando compila e instala GCC, coloca las bibliotecas aquí, pero eso es todo. Como dicen las preguntas frecuentes ( http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths ), debe agregarlo.
Supuse "¿Cómo puedo asegurar que la biblioteca enlazada dinámicamente se encontrará?" Significaba "¿Cómo me aseguro de que siempre se encuentre?", "No", no se encontrará, debe hacer esto ".
Para aquellos que no se molestan en establecer un prefijo, es / usr / local / lib64
Puede encontrar esto mencionado brevemente cuando instala gcc si lee el resultado de make:
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 eso fue simple! También "si alguna vez desea vincularse con las bibliotecas instaladas" - ¿en serio?
Si alguien tiene el problema anterior en anaconda, la solución se puede encontrar aquí: "''CXXABI_1.3.8'' no encontrado" en tensorflow-gpu - install from source
Tenía el mismo error al instalar PhantomJS en Ubuntu 14.04 64 bits con gcc-4.8 (CXXABI_1.3.7)
La actualización a gcc-4.9 (CXXABI_1.3.8) solucionó el problema. HOWTO: https://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-4-9-on-ubuntu-14-04
Tengo la solución correcta here .
La mejor forma de instalar correctamente gcc-4.9 y configurarlo como su versión predeterminada de gcc es utilizar:
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 --slave, con g ++, hará que g ++ se cambie junto con gcc a la misma versión. Pero, en este punto, gcc-4.9 será su única versión configurada en update-alternatives, así que agregue 4.8 a update-alternatives, entonces realmente hay una alternativa, al usar:
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
Luego puede verificar cuál se establece y cambiar de un lado a otro usando:
sudo update-alternatives --config gcc
NOTA: Puede omitir la instalación del Repositorio de PPA y simplemente usar /usr/bin/gcc-4.9-base pero prefiero usar las nuevas cadenas de herramientas actualizadas.
Tuve el mismo problema en mi Ubuntu 14.04 cuando intenté instalar TopTracker. Tengo tales errores:
/ usr / share / toptracker / bin / TopTracker: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: versión ''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++.so.6: versión ''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++.so.6: versión ''CXXABI_1.3.9'' no encontrado (requerido por / usr / share / toptracker / bin / TopTracker)
Pero luego instalé la versión de gcc 4.9 y el problema desapareció:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9