Как я могу получить 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
Спасибо за любую помощь!
apt-get
На основе решения этой проблемы описано здесь: superuser.com/questions/310809/...В прошлом я избегал этой проблемы, просто статически связывая libstdc ++ с этим параметром, отправляемым в g ++ при связывании моего исполняемого файла:
Если статическое связывание в библиотеке является опцией, это, вероятно, самый быстрый обходной путь.
источник
Я пытался заставить работать clang (который также требует 6.0.15), и пока я копался, я обнаружил, что он установлен на
/usr/local/lib/libstdc++.so.6.0.15
. Он установлен там, когда я установил графит (экспериментальная версия GCC).Если вам нужен доступ к библиотекам в этом месте, то вам нужно определить
LD_LIBRARY_PATH
как:export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64
Я смог заставить лягушку работать после этого. Надеюсь, что это полезно для кого-то.
источник
LD_LIBRARY_PATH
повлияет на них. все они будут ссылку на новую библиотеку, в конце концов большинство из бинарников не работают: такие какls
grep
, ....: I'am получение:ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
Я сталкиваюсь с этой проблемой при попытке использовать matlab eng для вызова m функций из c кода. что происходит с командой
mex -f .. ..
Мое решение:
Я нашел, что включает в себя 3.4.15
так что моя система имеет новейшие библиотеки.
проблема возникает из самого matlab, он вызывает свой собственный libstdc ++. so.6 из
{MATLAB}/bin
так что, просто замените его на обновленную систему lib.
источник
{MATLAB}/bin
файл/usr/lib/
, а затем перезапустить Matlab. Это работает в Matlab 2010b на Fedora 14 x64.Я получил ту же ошибку. Вот как это работает для меня:
Работал отлично!
источник
Для этой ошибки я скопировал последнюю версию libstdc ++. So.6.0.17 с другого сервера, удалил программную ссылку и воссоздал ее.
1. Скопируйте libstdc ++. So.6.0.15 или более позднюю версию с другого сервера в уязвимую систему.
В моем случае SUSE linux 11 SP3 был последним.
2. rm libstdc ++. So.6
3. ln -s libstdc ++. So.6.0.17 libstdc ++. So.6 (в каталоге / usr / lib64).
NJoy
источник
Я только что столкнулся с подобной проблемой сборки версии LLVM 3.7. Сначала проверьте, установлена ли в вашей системе необходимая библиотека:
Затем добавьте найденное местоположение в переменную окружения $ LD_LIBRARY_PATH.
источник
Иногда вы не контролируете целевой компьютер (например, ваша библиотека должна работать в заблокированной корпоративной системе). В таком случае вам нужно будет перекомпилировать ваш код, используя версию GCC, соответствующую их версии GLIBCXX. В этом случае вы можете сделать следующее:
strings /usr/lib/libstdc++.so.6 | grep GLIBC
... Скажите, что версия3.4.19
.[4.8.3, 4.9.0)
.источник
gcc версии 4.8.1, ошибка выглядит так:
Я нашел libstdc ++. So.6.0.18 в том месте, где я выполнил gcc 4.8.1
Тогда я так делаю
задача решена.
источник
Я извлек их из RPM ( RPM для libstdc ++ ) и затем:
Установить систему для поиска библиотек в текущем каталоге. Затем просто выполнил мою программу. Но в моем случае я получил один исполняемый файл, который мне был нужен, это не было общесистемным изменением.
источник
У меня была похожая проблема, и я решил ее статически, связывая
libstdc++
с программой, которую я компилировал, вот так:вместо обычного
Могут быть проблемы с этим решением, связанные с загрузкой разделяемых библиотек во время выполнения, но я недостаточно глубоко изучил проблему, чтобы прокомментировать.
источник
Ошибка с GLIBCXX_3.4.14. Вам необходимо установить более новую версию GCC. http://pkgs.org/download/libstdc++.so.6 Перейти к:
http://geeksterminal.com/how-to-install-glib-glibc/1392/
и следуйте инструкциям.
источник
У меня была такая же проблема, потому что я сменил пользователя с себя на другого:
су
По какой-то причине после обычной компиляции я не смог ее выполнить (то же сообщение об ошибке). Непосредственно ssh для другой учетной записи пользователя работает.
источник
У меня было установлено несколько версий компилятора gcc, и мне нужно было использовать более свежую версию, чем установка по умолчанию. Поскольку я не являюсь системным администратором для наших систем Linux, я не могу просто изменить / usr / lib или многие другие предложения, приведенные выше. Я столкнулся с этой проблемой и в конце концов отследил ее, установив путь к каталогу 32-битной библиотеки вместо каталога 64-битной библиотеки (lib64). Поскольку библиотеки в 32-разрядном каталоге были несовместимы, система по умолчанию установила более старую версию, которая устарела.
Использование -L к пути, на который я ссылался, давало предупреждения о "пропуске несовместимого libstdc ++. Поэтому при поиске -lstdc ++". Это был намек, который помог мне окончательно решить проблему.
источник
То же самое с версией gcc
4.8.1 (GCC)
иlibstdc++.so.6.0.18
. Пришлось скопировать его здесь,/usr/lib/x86_64-linux-gnu
на мою коробку Ubuntu.источник
В моем случае 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.
Это решило эту проблему.
источник
Я просто использовал -static-libstdc ++ при сборке. с этим я могу запустить
источник
Для целей тестирования:
На исходном компьютере найдите библиотеку, скопируйте в тот же каталог, что и исполняемый файл:
Затем скопируйте эту же библиотеку на целевой компьютер и запустите исполняемый файл:
Примечание: указанная выше команда является временной; это не общесистемное изменение.
источник
У меня была такая же проблема раньше, и я исправил ее, шаги можно найти в этой ошибке «GLIBCXX_3.4.15» на matlab
источник