我在静态编译lighttpd时遇到了问题。我已经使用autotools按照安装文件中的说明进行了操作:
LIGHTTPD_STATIC=yes ./configure -C --enable-static=yes我还在编译期间将"-static“添加到了CFLAGS中。
Dynamic section at offset 0x98e10 contains 25 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libcrypt.so.1]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x408000
0x000000000000000d (FINI) 0x479eb0
0x0000000000000019 (INIT_ARRAY) 0x499e00
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x499e08
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x400308
0x0000000000000005 (STRTAB) 0x404288
0x0000000000000006 (SYMTAB) 0x400f40
0x000000000000000a (STRSZ) 9392 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x49a000
0x0000000000000002 (PLTRELSZ) 3840 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x406cf8
0x0000000000000007 (RELA) 0x406c50
0x0000000000000008 (RELASZ) 168 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x406b80
0x000000006fffffff (VERNEEDNUM) 2
0x000000006ffffff0 (VERSYM) 0x406738
0x0000000000000000 (NULL) 0x0具体地说,我希望静态地将libc编译到lighttpd二进制文件中,而不是动态地包含它。任何关于如何实现这一点的意见都将受到高度赞赏。
发布于 2021-10-02 14:36:11
对于100%的库的静态构建,不同的系统和不同的libc可能无法很好地工作。这对于lighttpd基础来说并不是特别重要,但对于一些lighttpd模块对其他第三方库的依赖关系可能很重要。
可以调整您的环境,使autoconf优先使用所有静态库。然而,在这样做之前,我建议尝试使用SCons静态地构建lighttpd:
https://wiki.lighttpd.net/InstallFromSource
查看sconsbuild/build/plugin-static.h的内容并删除不需要的内容。
https://stackoverflow.com/questions/69411044
复制相似问题