2017-01-09 184 views
4

我在与最新的gdb一个问题,所以我想用一老一。我发现gdb存档here但我怎么编译/安装其中之一,所以它可以用吗?安装较旧版本的gdb

按照manual,第一configure

$ ./configure 
checking build system type... x86_64-unknown-linux-gnu 
checking host system type... x86_64-unknown-linux-gnu 
checking target system type... x86_64-unknown-linux-gnu 
[...] 
configure: creating ./config.status 
config.status: creating Makefile 

然后make

$ make 
make[1]: Entering directory '/root/Desktop/gdb-7.7' 
Configuring in ./libiberty 
configure: creating cache ./config.cache 
checking whether to enable maintainer-specific portions of Makefiles... no 
checking for makeinfo... /root/Desktop/gdb-7.7/missing makeinfo --split-size=5000000 
[...] 

但它导致一个错误:

remote-utils.c:436:19: error: ‘hexchars’ defined but not used [-Werror=unused-const-variable=] 
static const char hexchars[] = "abcdef"; 
        ^~~~~~~~ 
cc1: all warnings being treated as errors 
Makefile:238: recipe for target 'remote-utils.o' failed 
make[4]: *** [remote-utils.o] Error 1 
make[4]: Leaving directory '/root/Desktop/gdb-7.7/gdb/gdbserver' 
Makefile:1345: recipe for target 'subdir_do' failed 
make[3]: *** [subdir_do] Error 1 
make[3]: Leaving directory '/root/Desktop/gdb-7.7/gdb' 
Makefile:1018: recipe for target 'all' failed 
make[2]: *** [all] Error 2 
make[2]: Leaving directory '/root/Desktop/gdb-7.7/gdb' 
Makefile:8611: recipe for target 'all-gdb' failed 
make[1]: *** [all-gdb] Error 2 
make[1]: Leaving directory '/root/Desktop/gdb-7.7' 
Makefile:832: recipe for target 'all' failed 
make: *** [all] Error 2 

的降级程序向导创建here也没有帮助因为我总是得到“版本未找到”错误:

$ sudo apt-get install gdb="7.8.1" 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
E: Version '7.8.1' for 'gdb' was not found 

回答

5

您尝试使用新的GCC编译旧GDB。

这通常不起作用:新的GCC支持新的警告,和GDB开发者修复这些警告(新版本的GCC实际发布前通常)。

你应该能够禁用这些警告:

./configure 'CFLAGS=-w' 

或通过编辑生成的Makefile文件并修改CFLAGS那里。

其他替代方案:

  • 你实际上可以修复代码不产生警告(删除行remote-utils.c 436应该这样做),或
  • ,你可以安装旧的相同的“复古” GCC ,并建立GDB与它(也许在虚拟机)。
1

您可以使用此命令来检查错误相关的配置标志:

./configure --help | grep error

有你应该看到:

--enable-werror enable -Werror in bootstrap stage2 and later

所以,你可以禁用警告作为错误:

./configure --disable-werror

相关问题