我如何从源代码静态构建GDB?

G-7*_*-71 10 c linux gcc gdb

我下载了gdb-6.5.bz2.tar.解开这个文件.我写道:LDFLAGS = -static ./configure

但结果我得到一个gdb,需要一个so文件,例如:ncurses.so.5 libc.so.0等

我怎么能静态建造?

unw*_*ind 7

此消息似乎暗示正确的用法是

$ make LDFLAGS=-static
Run Code Online (Sandbox Code Playgroud)

这似乎令人惊讶.不幸的是,它还表示无法建立,并且没有后续行动.消息仍然是从1999年开始的,所以一切都可能发生了变化,也许今天的正确方法就是按照你的方式去做.


小智 6

您可以使用以下选项为configure脚本生成静态GDB可执行文件:

./configure --prefix=<> --enable-static=yes && make && make install
Run Code Online (Sandbox Code Playgroud)


Mic*_*eyn 6

gcc 和 gdb--enable-static都不尊重应该传递给的标志configure,正确的方法是:

在 gdb 8.0 的情况下,您还必须添加--disable-interprocess-agent才能成功构建静态版本:

mkdir build-gdb && cd build-gdb && ../configure --prefix=... --enable-static --disable-interprocess-agent ...

在 gcc 7.1 的情况下,您还必须添加--disable-libcc1才能成功构建静态版本:

mkdir build-gcc && cd guild-gcc && ../configure --prefix=... --enable-static --disable-shared --disable-libcc1 ...