Как исправить «/lib/x86_64-linux-gnu/libc.so.6: версия« GLIBC_2.14 »не найдена»?


29

Как исправить эту ошибку:

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found

Платформа:

Linux alef 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux

Ответы:


30

Это означает, что программа была скомпилирована для glibc версии 2.14 и требует, чтобы эта версия работала, но в вашей системе установлена ​​более старая версия. Вам нужно будет либо перекомпилировать программу для версии glibc, которая находится в вашей системе, либо установить более новую версию glibc (пакет "libc6" в Debian).

Debian имеет «glibc 2.16» в «экспериментальном» хранилище, но перекомпиляция программы является более безопасным вариантом. Glibc - это библиотека, от которой все зависит, поэтому ее обновление может иметь далеко идущие последствия. Хотя, вероятно, в пакете Debian glibc 2.16 нет ничего плохого, но тот факт, что он находится в экспериментальном репозитории, означает, что он не получил такого большого количества тестирования.


4
Это такой классный ответ, и я понял каждое предложение :). Как перекомпилировать его (приложение разработчик tidesdk) под моей машиной, какие-либо ссылки? Однако я приму этот ответ, хорошо.
xliiv

Обновление до Debian помогло Джесси.
cweiske

5
Значит ли это, что вам нужна именно версия 2.14 glibc или хотя бы версия 2.14?
Филипп

20

Я разместил свое решение здесь , перепечатайте его для справки.

В моей ситуации ошибка появляется, когда я пытаюсь запустить приложение (скомпилированное на Ubuntu 12.04 LTS), используя GLIBC_2.14 на Debian Wheezy (который по умолчанию устанавливает glibc 2.13).

Я использую хитрый способ запустить его и получить правильный результат:

  1. Загрузите libc6 и libc6-dev из Ubuntu 12.04 LTS

  2. Запустите команду dpkg, чтобы установить их в каталог (например, / home / user / fakeroot /):

    $ dpkg -x libc6-dev_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    $ dpkg -x libc6_2.15-0ubuntu10.6_amd64.deb /home/user/fakeroot/
    
  3. Запустите вашу команду с указанным LD_LIBRARY_PATH:

    $ LD_LIBRARY_PATH=/home/user/fakeroot/lib/x86_64-linux-gnu/ YOUR_COMMAND
    
  4. Мое приложение использует только memcpy () из GLIBC_2.14, и это работает.

Я не знаю, будет ли это работать успешно для других приложений. Желаю это полезно.


0
apt-get update && apt-get -reinstall install vesta-nginx vesta-php

Это должно просто исправить это, не ломая ОС.  


2
Зачем? Не могли бы вы объяснить? Как vesta(панель управления хостингом) связана с вопросом?
iX3
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.