I statycznie skompilowałem i połączyłem program na najnowszym komputerze z Linuksem, i uruchomiłem go na innym Linuxie, który ma 9 lat. Dało mi to błąd "FATAL: kernel too old" i zrezygnowałem. W szczególności nowy to Fedora 18 (gcc 4.7.2, glibc 2.16, jądro 3.7.2), a stary to RHEL4.8 (glibc 2.3.4, jądro 2.6.9). Ponieważ jest to link statyczny, wersja glibc nie powinna mieć znaczenia. Chyba problem polega na tym, że program wywołuje wywołania systemowe, których nie ma w starym jądrze.Kompilowanie programu dla starego jądra
Jeśli rozwój starego systemu nie jest możliwy, w jaki sposób mogę zbudować program w nowym systemie i uruchomić go w starszym (lub nawet lepszym)? Szukałem sposobu uruchomienia gcc w trybie kompatybilnym, który wywołuje tylko stare wywołania systemowe. Bez szczęścia.
Pobierz starą wersję glibc i połącz z nią. Nowa glibc nie będzie działać na starych jądrach. –