Как мне создать приложение для старого дистрибутива Linux и избежать ошибки FATAL: kernel too old? - PullRequest
0 голосов
/ 17 января 2010

Я распространяю статически связанную двоичную версию моего приложения на Linux. Тем не менее, в системах с ядром 2.4, я получаю ошибку при запуске и сообщение: «FATAL: ядро ​​слишком старое».

Как мне легко запустить и запустить версию с ядром 2.4? Некоторые библиотеки, которые мне нужны, даже недоступны в старых дистрибутивах Linux около 2003 года. Существует ли установка apt-get или что-то, что позволит мне легко ориентироваться на старые ядра?

1 Ответ

2 голосов
/ 17 января 2010

Самый простой способ - просто установить VirtualBox (или что-то подобное, например, VMWare), установить CentOS 3 или любой подходящий старый дистрибутив с ядром 2.4 и собрать / протестировать ваше приложение на что.

Поскольку вы получаете «слишком старое ядро», скорее всего, вы полагаетесь на некоторые функции, отсутствующие в ядрах 2.4, поэтому вам придется отследить и переработать это. Ошибка может быть просто вызвана статической связью с glibc, вы можете попробовать связать ее с glibc динамически и со всеми другими вашими библиотеками статически, хотя для обратной совместимости вам придется создавать свое приложение на старой системе glibv. Использование lsb инструментов для сборки тоже может помочь

...