在Mingw中构建GDB错误,配置:错误:未找到增强的curses库;禁用TUI

在Mingw中构建GDB错误,配置:错误:未找到增强的curses库;禁用TUI,gdb,mingw,tui,Gdb,Mingw,Tui,我试图在mingw中构建GDB7.51进行跨平台调试,我发现GDB的前端是TUI。无论如何,我使用--enable tui配置GDB,然后使用错误消息始终停止: 配置:错误:未找到增强的诅咒库;禁用TUI 我通过谷歌检查了这个问题,然后从GNU下载了ncurses源代码 在my c:/mingw/msys/1.0/local中构建并安装它/ 使用以下脚本语句运行GDB的configure export PATH=$PREFIX/gccbinutils/bin/:/usr/local/bin:/

我试图在mingw中构建GDB7.51进行跨平台调试,我发现GDB的前端是TUI。无论如何,我使用--enable tui配置GDB,然后使用错误消息始终停止:

配置:错误:未找到增强的诅咒库;禁用TUI

我通过谷歌检查了这个问题,然后从GNU下载了ncurses源代码

在my c:/mingw/msys/1.0/local中构建并安装它/

使用以下脚本语句运行GDB的configure

export PATH=$PREFIX/gccbinutils/bin/:/usr/local/bin:/usr/bin:/bin:/mingw/bin
export C_INCLUDE_PATH=/usr/local/include:/usr/local/include/ncursest:/usr/include:/c/mingw/include
export CPLUS_INCLUDE_PATH=/usr/local/include:/usr/local/include/ncursest:/usr/include:/c/mingw/include
export LIBRARY_PATH=/usr/local/lib:/usr/lib:/c/mingw/lib
export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/c/mingw/lib
export LDFLAGS="-L/usr/local/lib -L/usr/lib -L/c/mingw/lib"
export LIBS="-lncursest"

$BUILD_MIPSGCCDIR/gdb/configure --prefix=$PREFIX/$pkg --target=$TARGET \
                --enable-tui \
                            --enable-curses \
                --enable-sim > $BUILDPATH/$TARGET$pkg.conf1.$argn.log  2>&1
但它没有起作用。使用以下消息停止Make

checking for zlib.h... yes
checking for library containing dlgetmodinfo... no
checking for iconv... yes
checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for library containing waddstr... no
configure: error: no enhanced curses library found; disable TUI
make[1]: *** [configure-gdb] Error 1
make[1]: Leaving directory `/d/tools/buildmipsgcc/build_gdb'
make: *** [all] Error 2 

我已经搜索了waddstr,并且确定它存在于我的c:/mingw/msys/1.0/local/lib/libncursest.a好的,让我们试着通过提供手写
libncurses.la
来愚弄自动工具:

# libncurses.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.7a
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname=''

# Names of this library.
library_names=''

# The name of the static archive.
old_library='libncursest.a'

# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''

# Libraries that this one depends upon.
dependency_libs=''

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libncurses.
current=5
age=0
revision=9

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='c:/mingw/msys/1.0/local/lib'

检查我提供的路径和名称,如果它们不同-更改它们。如果它仍然不起作用,请报告,我将尝试进一步扩展它,直到我们最终修复它。

“它不起作用”不提供任何关于什么不起作用的信息。扩展您的问题。谢谢Haroogan,我已经添加了“生成消息”。您是否在与
libncursest.a
相同的目录中有相应的
*.la
文件?@Haroogan在构建ncurses时没有生成libncursest.la。我使用以下配置构建了ncurses:CC=“gcc-m32”LD=“LD-m32”./configure--prefix=$DEST_DIR/$pkg\--不带cxx绑定--不带ada--启用警告--启用断言--启用可重入--带调试--带正常--禁用主终端--启用sp funcs--启用术语驱动--启用互操作--带pthread>$BUILDPATH/$TARGET$pkg.conf.$argn.log 2>&1您肯定需要它,否则自动工具将无法找到它。您是否为
ncurses
进行了
makeinstall
?如果是,则应自动部署
*.la
。它仍然会出错。libtool:link:`/usr/local/lib/libncursest.la'不是有效的libtool归档文件make[4]:***[libbfd.la]错误1Open
ltmain.sh
脚本在
ncurses
gdb
中,并告诉我两者的版本。您可以通过如下方式定位行来完成此操作:
VERSION=1.5.24
.GDB:VERSION=2.2.7a,但ncurses中没有ltmain.sh必须更新
libncurses.la
。现在试试。顺便说一下,它之所以没有在
ncurses
的安装阶段生成,是因为它的发行版没有提供
ltmain.sh
,但这很奇怪。制作需要很长时间,但问题似乎已经解决了。我更新了libcurses.la,找到了。将其安装到my/usr/local目录。此ncurses包中的某些文件的名称与我构建的ncurses不同。不管怎样,谢谢哈鲁根。