gpt4 book ai didi

linux - 如何使用旧内核为 GNU/Linux 安装构建静态二进制文件?

转载 作者:IT王子 更新时间:2023-10-29 00:18:51 25 4
gpt4 key购买 nike

$ 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.

如何构建可在旧系统上运行的静态二进制文件?我希望静态二进制文件甚至可以在 2.4 上运行。

最佳答案

您需要配置 glibc 以针对较旧的内核版本。每http://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html glibc 接受配置选项 --enable-kernel=version其中 version形式为 2.4.20以旧内核版本为目标。

然后您可以使用gcc -static -nodefaultlibs [...] /path/to/my/libc.a 静态链接您的程序。 .

关于linux - 如何使用旧内核为 GNU/Linux 安装构建静态二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com