$ printf 'int main(){}' | gcc -static -x c - -o hello
$ scp hello vi-server.org:./
hello 100% 565KB 565.2KB/s 00:00
$ ssh -t vi-server.org "./hello; uname -r"
FATAL: kernel too old
sh: line 1: 15378 Segmentation fault ./hello
2.6.18-274.... # can't easily upgrade the kernel
Connection to vi-server.org closed.
Jak zbudować statyczny plik binarny, który będzie działać na starych systemach? Oczekuję, że statyczne pliki binarne będą działać nawet w wersji 2.4.Jak zbudować statyczny plik binarny dla instalacji GNU/Linux ze starym jądrem?
Uwaga: często istnieje opcja utworzenia pliku binarnego "półstatycznego". Połączy się dynamicznie z biblioteką libc, ale statycznie z innymi bibliotekami (możesz wybrać biblioteki, które mają zostać dołączone do pliku binarnego i do których można się połączyć). Można to zrobić ręcznie edytując polecenie łączenia. –