GDB oluştururken neden termcap kütüphanesini bulamıyorum?


10

make ve ardından başarısız oldu:

configure: error: termcap kütüphanesi bulunamadı , ancak bu termcap lib orada, neden onu bulamıyoruz?

checking for library containing zlibVersion... -lz
checking zlib.h usability... yes
checking zlib.h presence... yes
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: WARNING: no enhanced curses library found; disabling TUI
checking for library containing tgetent... no
configure: error: no termcap library found
make[1]: *** [configure-gdb] Error 1
make[1]: Leaving directory `/var/lib/gforge/chroot/home/users/mirror/tmp/gdb-7.5'
make: *** [all] Error 2

Ben gdb ile yapılandırmak:

[mirror@hugemeow gdb-7.5]$ ./configure --libdir=/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/lib/


checking where to find the target readelf... host tool
checking where to find the target strip... host tool
checking where to find the target windres... host tool
checking where to find the target windmc... host tool
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether -fkeep-inline-functions is supported... yes
configure: creating ./config.status
config.status: creating Makefile

Bu tempcap kitaplığı gdb için yapılandırılmış olarak sadece orada :

[mirror@hugemeow gdb-7.5]$ ls /var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/lib/
libtermcap.a
[mirror@hugemeow gdb-7.5]$ ls /var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/include/
termcap.h

Düzenleme 1 : --includedir ve --libdir seçeneğiyle bile başarısız oldu ...

[mirror@hugemeow gdb-7.5]$ ./configure --includedir=/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/include/  --libdir=/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/lib/
make
    checking for library containing tgetent... no
configure: error: no termcap library found
make[1]: *** [configure-gdb] Error 1
make[1]: Leaving directory `/var/lib/gforge/chroot/home/users/mirror/tmp/gdb-7.5'
make: *** [all] Error 2

Edit 2 : Şimdi Patrice Tisserand'ın söylediği gibi inşa ediyorum, ama aynı zamanda aşağıdaki gibi farklı hata mesajı ile başarısız oldu.

[ayna @ hugemeow gdb-7.5] $ CFLAGS = "- I / var / lib / gforge / chroot / home / kullanıcılar / mirror / ins / ins-gdb / include /" LDFLAGS = "- L / var / lib / gforge / chroot / home / users / mirror / ins / ins-gdb / lib / "./configure && make

make[1]: Entering directory `/var/lib/gforge/chroot/home/users/mirror/tmp/gdb-7.5'
Configuring in ./intl
configure: loading cache ./config.cache
configure: error: `CFLAGS' has changed since the previous run:
configure:   former value:  `-g -O2'
configure:   current value: `-I/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/include/'
configure: error: `LDFLAGS' has changed since the previous run:
configure:   former value:  ` '
configure:   current value: ` -L/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/lib/'
configure: error: in `/var/lib/gforge/chroot/home/users/mirror/tmp/gdb-7.5/intl':
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ./config.cache' and start over
make[1]: *** [configure-intl] Error 1
make[1]: Leaving directory `/var/lib/gforge/chroot/home/users/mirror/tmp/gdb-7.5'
make: *** [all] Error 2

Yanıtlar:


18

Libncurses yüklemek sorununuzu çözecektir. Eğer herhangi bir Debian OS kullanıyorsanız bu deneyin: sudo apt-get install libncurses5-dev.


2
Başımı bu noktaya vuruyordum çünkü libncursesgeliştirme paketini değil, düz yüklediğimi fark etmedim .
Nathaniel Waisbrot

Bu kabul edilen cevap olmalı. Bu arada OpenSUSE ncurses-develpakettir.
Anh Tuan

3
./configure --includedir=/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/include/  --libdir=/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/lib/

--includedir ve --libdir kurulum dizinleri için seçenektir .

Başka bir dizindeki kitaplıkları kullanmak için aşağıdakileri yapmaya çalışabilirsiniz:

CFLAGS="-I/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/include/" LDFLAGS="-L/var/lib/gforge/chroot/home/users/mirror/ins/ins-gdb/lib/" ./configure 

şimdi bana söylediğiniz gibi inşa ediyorum, ama aynı zamanda aşağıdaki gibi farklı hata mesajı ile başarısız oldu. düzenleme 2'ye bakınız
hugemeow

merhaba, mesaj çıkışında önerildiği gibi distclean yapmaya çalıştınız mı?
Patrice Tisserand

1

Bu son derece yardımcı oldu: http://archive09.linux.com/feature/121735

Bu örnek, hedef-yerel bir termcap kitaplığının eksik olduğunu bulduğunuzda nasıl başarılı olacağınızı gösterir (çapraz yapı burada biraz farklıdır - şüpheniz olduğunda ./configure --help kullanın):

cd ~/work/cross/gdb/downloads
wget ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
cd ..
tar xvzf downloads/termcap-1.3.1.tar.gz
mkdir -p ~/work/cross/gdb/build/termcap
cd ~/work/cross/gdb/build/termcap

export CC=powerpc-7450-linux-gnu-gcc
export RANLIB=powerpc-7450-linux-gnu-ranlib
../../termcap-1.3.1/configure --host=powerpc-7450-linux-gnu --prefix=$HOME/work/cross/termcap
make
make install

Gerçekten böyle bir hedefi geçersiz kılmak istemezsiniz , çalışma zamanında o yolun bulunmadığı uzak hedefte o yolu aramaya başlar . make DESTDIR=$HOME/work/cross installBu soruna geçici bir çözüm sağlar, ancak yapı bağımlılıklarını bulmanıza yardımcı olmaz
Ben Voigt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.