Я пытаюсь запустить действительно старое приложение, которое было скомпилировано на ядре 2.6.24.
Версия ядра не имеет значения.
Ваша заявка была составлена на системе, использующей GLIBC-2.14
(или более поздней версии), так что не то, что старый (GLIBC-2.14
was released on 2011-06-01).
./deskewDeslant: /lib/libc.so.6: version 'GLIBC_2.14' not found (required by ./deskewDeslant)
Ошибка выше означает, что ваш текущий GLIBC является слишком стар.
./deskewDeslant: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found (required by ./deskewDeslant)
ошибка выше означает, что ваш libstdc++.so
также слишком старый.
В настоящее время я использую версию libc 2.7. Как изменить версию до версии 2.14?
Вы считаете, что версия 2.7
новее, чем версия 2.14
, но обратное верно. Вам необходимо установить GLIBC
от 2.7
до 2.14
(или новее).
В общем случае данный дистрибутив ОС никогда не сможет обновить GLIBC
от того, с которым он первоначально был отправлен (риск взлома старых приложений считается слишком высоким). Вот почему ваш apt-get install libc6
ничего не делает.
Таким образом, ваш выбор:
- обновить весь дистрибутив или
- получить бинарный код, скомпилированный для (старого) дистрибутива или
- установить новую версию
GLIBC
или
- установите более новую версию
GLIBC
в нестандартное местоположение.
Вариант №2 является самым простым.
Вариант № 1 может быть лучшим (вы получите исправления безопасности, а другие приложения, которые вы загрузите, будут работать из коробки).
Вариант № 3 очень рискован: помимо потенциального нарушения существующих приложений тонким способом, обновление системы libc - это самый простой способ сделать вашу систему недоступной, если вы допустили ошибку в процессе обновления.
Вариант № 4 полностью задействован технически. Вы можете найти более подробную информацию here.