c++ - versión `CXXABI_1.3.8 ''no encontrada(requerida por...)
linux gcc (1)
GCC 4.9 presenta una versión más nueva de C ++ ABI que tu sistema, libstdc ++, por lo que necesitas decirle al cargador que use esta versión más nueva de la biblioteca al agregar esa ruta a LD_LIBRARY_PATH
. Lamentablemente, no puedo decirle directamente dónde está ubicado el libstdc ++, por lo tanto, para su instalación de GCC 4.9, ya que esto depende de cómo haya configurado GCC. Entonces necesitas algo en el estilo de:
export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH
Tenga en cuenta que la ruta real puede ser diferente (puede haber algún subdirectorio oculto debajo, como `x86_64-unknown-linux-gnu / 4.9.0'' o similar).
Esta pregunta ya tiene una respuesta aquí:
Cuando ejecuto mi programa después de una compilación, aparece el siguiente error:
./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: versión
CXXABI_1.3.8'' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
GLIBCXX_3.4.19 ''no encontrada (requerida por ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: versión `GLIBCXX_3.4.20'' no encontrada ( requerido por /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0)
Tengo ambos boost 1.55.0 y gcc 4.9.0 instalados en ~/lib/boost_1_55_0
y ~/lib/gcc-4.9.0
respectivamente, y supongo que es por eso que tengo problemas, pero no estoy seguro acerca de cómo arreglarlo.
my ~/.profile
contiene la siguiente línea:
exportar LD_LIBRARY_PATH = / home / user / lib / boost_1_55_0 / stage / lib: $ LD_LIBRARY_PATH