/usr/lib/libstdc++.so.6: версия `GLIBCXX_3.4.15 'не найдена - PullRequest
128 голосов
/ 07 марта 2011

Как я могу получить GLIBCXX_3.4.15 в Ubuntu? Я не могу запустить некоторые программы, которые я компилирую.

Когда я делаю:

strings /usr/lib/libstdc++.so.6 | grep GLIBC

Я получаю:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

Спасибо за любую помощь!

Ответы [ 18 ]

0 голосов
/ 28 ноября 2018

Я только что использовал -static-libstdc ++ при сборке.с этим я могу запустить a.out

g++ test.cpp -static-libstdc++
0 голосов
/ 08 мая 2018

В моем случае LD_LIBRARY_PATH имел / usr / lib64 первым перед / usr / local / lib64. (Я строил llvm 3.9).
У нового компилятора gcc, который я установил для компиляции llvm 3.9, были библиотеки, использующие более новые библиотеки GLIBCXX в / usr / local / lib64, поэтому я исправил LD_LIBRARY_PATH, чтобы компоновщик сначала увидел / usr / local / lib64.
Это решило эту проблему.

0 голосов
/ 23 июня 2015

У меня было установлено несколько версий компилятора gcc, и мне нужно было использовать более свежую версию, чем установка по умолчанию. Поскольку я не являюсь системным администратором для наших систем Linux, я не могу просто изменить / usr / lib или многие другие предложения, приведенные выше. Я столкнулся с этой проблемой и в конце концов отследил ее, установив путь к каталогу 32-битной библиотеки вместо каталога 64-битной библиотеки (lib64). Поскольку библиотеки в 32-разрядном каталоге были несовместимы, система по умолчанию установила более старую версию, которая устарела.

Использование -L для пути, на который я ссылался, давало предупреждения о "пропуске несовместимой libstdc ++. Поэтому при поиске -lstdc ++". Это был намек, который помог мне окончательно решить проблему.

0 голосов
/ 01 апреля 2015

У меня была такая же проблема, потому что я изменил пользователя из себя на другого:

su

По какой-то причине после нормальной компиляции я не смог его выполнитьто же сообщение об ошибке).Работает напрямую ssh с другой учетной записью пользователя.

0 голосов
/ 16 августа 2014

Ошибка с GLIBCXX_3.4.14 Вам необходимо установить более новую версию GCC. http://pkgs.org/download/libstdc++.so.6 Гото:

http://geeksterminal.com/how-to-install-glib-glibc/1392/

и следуйте инструкциям.

0 голосов
/ 09 октября 2013

У меня была такая же проблема раньше, и я исправил ее, шаги можно найти на этом Исправление ошибки "GLIBCXX_3.4.15" на matlab

0 голосов
/ 26 июня 2013

То же самое с версией gcc 4.8.1 (GCC) и libstdc++.so.6.0.18. Пришлось скопировать его сюда /usr/lib/x86_64-linux-gnu на мою коробку Ubuntu.

0 голосов
/ 11 июня 2013

У меня была похожая проблема, и я решил ее, статически связав libstdc++ с программой, которую я компилировал, примерно так:

$ LIBS=-lstdc++ ./configure ... etc.

вместо обычного

$ ./configure ... etc.

Возможны проблемы с этим решением, связанные с загрузкой разделяемых библиотек во время выполнения, но я недостаточно глубоко изучил проблему, чтобы прокомментировать.

...