Anticiper les erreurs «noyau trop ancien» entre les versions du noyau 2.6.16 et 2.6.26

J'ai créer une application sur une machine fonctionnant sous Linux (Debian) avec le noyau 2.6.26-2-amd64 et je veux exécuter cette application sur une autre machine sous Linux (Suse) avec un noyau 2.6.16.60-0.21-smp mais je reçois l'erreur "FATAL: noyau trop vieux".

Je sais à partir de recherches sur internet que cela peut se produire lors de la construction à l'encontre d'une bibliothèque glibc qui n'a pas été compilé avec le support de anciennes versions du noyau, mais il concerne, en général, de la version 2.4. Est-il possible d'obtenir de telles erreurs pour le noyau de la même série (2.6) ou cela peut-il être de quelque chose d'autre ?

De plus j'ai lu que la solution de ce problème consiste à reconstruire l'application par rapport à une autre version de la glibc compilé avec approprié --enable-kernel=option VERSION. Comme alternative, vous pouvez lier dynamiquement votre application avec la glibc pour résoudre le problème ?

Merci pour votre aide.

Mise à JOUR: je sais que ma question peut paraître vague ou résolu par l'une des solutions déjà mentionnés (reliant dynamiquement, en s'appuyant sur l'autre [virtuel], la reconstruction de la glibc [ce qui semble assez difficile compte tenu des commentaires que j'ai lus à ce sujet]), mais ce que je suis en fin de compte la recherche de moyens de prévenir de tels problèmes.

Par exemple, est-il possible de trouver des versions du noyau Linux sont compatibles avec une version de glibc ?

Mise à JOUR 2: finalement, j'ai trouvé une source de patch pour la glibc (pour Debian, mais je suppose qu'il existe des documents en ligne pour les autres distributions) qui (je suppose) contient les informations que je cherchais.

À partir de cette page:

--- eglibc-2.11.2.orig/debian/sysdeps/linux.mk
+++ eglibc-2.11.2/debian/sysdeps/linux.mk
@@ -0,0 +1,51 @@
[...]
+MIN_KERNEL_SUPPORTED := 2.6.18
[...]
+# Minimum Kernel supported
+with_headers = --with-headers=$(shell pwd)/debian/include
--enable-kernel=$(call xx,MIN_KERNEL_SUPPORTED)
[...]

Ce qui explique le "noyau trop vieux" erreur. Espérons que cela aide d'autres personnes.

source d'informationauteur Aabaz