交叉编译gdbserver时出错

时间:2012-06-15 02:48:45

标签: linux compiler-errors gdb gdbserver

我想在arm-Linux开发板上使用gdb进行调试。编译gdbserver时出错。

主机:Ubuntu 11 32位 目标:arm-linux-gcc(gcc版本4.4.3)

root@mickeyvm:/home/mickey/gdb-7.4# ./configure --target=arm-linux --host=arm-linux

make

我收到此错误消息:

configure: error: no termcap library found

我在谷歌搜索过的内容。编译器无法获取ncurses库。

checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... no

我按照建议的解决方案安装libncurses5-dev,但问题仍然存在。 libncurses5确实存在于我的Linux中。

root@mickeyvm:/home/mickey# dpkg -l | grep curse
ii  libcurses-perl                                  1.28-1                                     Curses interface for Perl
ii  libghc6-hscurses-dev                            1.3.0.2-3build3                            ncurses bindings for Haskell - development files for GHC6
ii  libncurses5                                     5.7+20101128-1                             shared libraries for terminal handling
ii  libncurses5-dev                                 5.7+20101128-1                             developer's libraries for ncurses
ii  libncursesw5                                    5.7+20101128-1                             shared libraries for terminal handling (wide character support)
ii  libncursesw5-dev                                5.7+20101128-1                             developer's libraries for ncursesw
ii  mtr-tiny                                        0.80-1                                     Full screen ncurses traceroute tool
ii  ncurses-base                                    5.7+20101128-1                             basic terminal type definitions
ii  ncurses-bin                                     5.7+20101128-1                             terminal-related programs and man pages
ii  ncurses-term                                    5.7+20101128-1                             additional terminal type definitions

请帮助并指出我错过的内容。非常感谢你

1 个答案:

答案 0 :(得分:0)

  

主持人:Ubuntu 11 32位

32位是什么?大概你的主机是i686-linux-gnu,而不是sparc-linux-gnu。

  

./ configure --target = arm-linux --host = arm-linux

使用上面的命令,您正在尝试构建将在arm-linux和调试arm-linux二进制文件上运行的GDB,即您正在为arm-linux配置本机 GDB(但是在i686-linux上构建它)。这样的原生GDB不能使用主机库(出于显而易见的原因)。

但看起来你想要一个交叉gdb,而不是原生的。在这种情况下,请尝试

./configure --build=i686-linux --host=i686-linux --target=arm-linux

阅读this可能有所帮助。