2014-05-06 11 views
34

Kiedy uruchomić mój program po kompilacji, pojawia się następujący błąd:wersja `CXXABI_1.3.8' not found (wymagane przez ...)

./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)

mam zarówno Boost 1.55.0 i gcc 4.9 .0 zainstalowane odpowiednio w ~/lib/boost_1_55_0 i ~/lib/gcc-4.9.0 i domyślam się, że właśnie dlatego mam problemy, ale nie jestem pewien, jak to naprawić.

mój ~/.profile zawiera następujący wiersz:

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

+0

Najczęściej zadawane pytania: http://gc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths –

Odpowiedz

32

GCC 4.9 wprowadza nowszą wersję C++ ABI niż systemie libstdC++ ma, więc trzeba powiedzieć ładowarka aby skorzystać z tej nowszej wersji biblioteki, dodając, że ścieżka do LD_LIBRARY_PATH. Niestety, nie mogę od razu powiedzieć, gdzie znajduje się libstdC++, więc dla twojej instalacji GCC 4.9, ponieważ zależy to od tego, jak skonfigurowałeś GCC. Więc trzeba coś w stylu:

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

Uwaga rzeczywista ścieżka może być inna (nie mogą być pewne ukryte pod podkatalogu tam, podobnie jak `x86_64-unknown-linux-gnu/4.9.0' lub podobny) .

+0

W tym przypadku prawdopodobnie znajduje się w katalogu '/home/user/lib/gcc-4.9.0/lib64 ' –

+0

Aby uzyskać pomoc dotyczącą qtox (nie wiesz, dlaczego ta strona jest pierwszym hitem do naprawy qtox), zobacz https://github.com/tux3/qTox/issues/3358#issuecomment-233700842 – Ninjaxor

Powiązane problemy