2014-05-06 22 views
34

Quando eseguo il mio programma a seguito di una compilazione, ottengo il seguente errore:versione `CXXABI_1.3.8' non trovato (richiesto dalla ...)

./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' not found (required by ./prog) ./prog: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/arman/lib/boost_1_55_0/stage/lib/libboost_serialization.so.1.55.0)

Ho sia spinta 1.55.0 e gcc 4.9 .0 installato rispettivamente in ~/lib/boost_1_55_0 e ~/lib/gcc-4.9.0, e suppongo che questo sia il motivo per cui sto avendo problemi, ma non sono sicuro su come risolverlo.

mia ~/.profile contiene la seguente riga:

export LD_LIBRARY_PATH=/home/user/lib/boost_1_55_0/stage/lib:$LD_LIBRARY_PATH

+0

Domande frequenti: http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths –

risposta

32

GCC 4.9 introduce una nuova versione C++ ABI di sistema libstdC++ ha, quindi è necessario dire al loader per usare questa nuova versione della libreria, aggiungendo che percorso a LD_LIBRARY_PATH. Sfortunatamente, non posso dirvi direttamente dove si trova libstdC++ così per l'installazione di GCC 4.9, poiché questo dipende da come avete configurato GCC. Quindi, avete bisogno di qualcosa nello stile di:

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

Annotare il percorso effettivo potrebbe essere diverso (ci potrebbe essere qualche sottodirectory nascosta là sotto, come `x86_64-unknown-linux-gnu/4.9.0' o simili) .

+0

In questo caso è probabile che sia in '/home/user/lib/gcc-4.9.0/lib64 ' –

+0

Per assistenza con qtox (non sono sicuro perché questa pagina è il primo risultato per il fissaggio di qtox), vedere https://github.com/tux3/qTox/issues/3358#issuecomment-233700842 – Ninjaxor

Problemi correlati