在学习csapp(深入理解计算机系统)的讲链接的内容时,有一段需要gcc静态链接编译程序,但是一直报错:/usr/bin/ld: cannot find -lc,经网上查找后发现需要安装glibc-static,用命令yum install glibc-static却发现找不到,查阅许久找到了一篇文章说自己编译glibc源码然后提取libc.a到自己需要的位置,已成功运行,特记录下来。
参考:https://blog.youkuaiyun.com/itas109/article/details/104226783
步骤1:下载gnu glibc源码,
如:https://ftp.gnu.org/pub/gnu/glibc/glibc-2.8.tar.gz
步骤2:编译glibc源码
2.1 解压glibc源码,
如:tar -xf glibc-2.28.tar.gz
2.2 编译前检查必须工具是否齐全,
如:./glibc-2.28/configure --prefix=/usr
2.3进行编译,
如:make -j2
步骤3:将glibc源码中自己需要的各种库复制到自己需要的地方,
如需要glibc-static则:
cp libc.a /usr/lib64/libc.a
最后附上成功后静态编译的文件: