web-dev-qa-db-de.com

Version `CXXABI_1.3.8 'nicht gefunden (benötigt von ...)

Wenn ich mein Programm nach einer Kompilierung ausführe, wird folgende Fehlermeldung angezeigt:

./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: Version CXXABI_1.3.8' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.19 'nicht gefunden (erforderlich für ./prog) ./prog:/usr/lib/x86_64-linux-gnu/libstdc ++. so.6: Version `GLIBCXX_3.4.20 'nicht gefunden (erforderlich für /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0)

Ich habe sowohl Boost 1.55.0 als auch Gcc 4.9.0 in ~/lib/boost_1_55_0 Bzw. ~/lib/gcc-4.9.0 Installiert, und ich vermute, aus diesem Grund habe ich Probleme, bin mir aber nicht sicher, wie um es zu reparieren.

mein ~/.profile enthält die folgende Zeile:

exportieren Sie LD_LIBRARY_PATH =/home/user/lib/boost_1_55_0/stage/lib: $ LD_LIBRARY_PATH

46
quant

GCC 4.9 führt eine neuere C++ ABI-Version als Ihr System libstdc ++ ein. Sie müssen daher den Loader anweisen, diese neuere Version der Bibliothek zu verwenden, indem Sie diesen Pfad zu LD_LIBRARY_PATH Hinzufügen. Leider kann ich Ihnen nicht direkt sagen, wo sich libstdc ++ für Ihre GCC 4.9-Installation befindet, da dies davon abhängt, wie Sie GCC konfiguriert haben. Sie brauchen also etwas im Stil von:

export LD_LIBRARY_PATH=/home/user/lib/gcc-4.9.0/lib:/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH

Beachten Sie, dass der tatsächliche Pfad unterschiedlich sein kann (möglicherweise ist ein Unterverzeichnis darunter versteckt, wie z. B. `x86_64-unknown-linux-gnu/4.9.0´ oder ähnliches).

39
rubenvb