run program how compile c++ linux unix

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?




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