ทำไมฉันไม่สามารถหา termcap ไลบรารี่เมื่อฉันสร้าง gdb?


10

make แล้วล้มเหลวด้วย:

ตั้งค่าคอนฟิก: ข้อผิดพลาด: ไม่พบไลบรารี termcapแต่มี termcap lib อยู่ที่นั่นทำไมจึงหาไม่พบ

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

ฉันกำหนดค่า gdb ด้วย:

[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

ไลบรารี tempcap นั้นอยู่ที่นั่นขณะที่ฉันกำหนดค่าเป็น gdb :

[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

แก้ไข 1 : ล้มเหลวอย่างใดอย่างหนึ่งแม้จะมีตัวเลือก --includedir และ --libdir ...

[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

แก้ไข 2 : ตอนนี้ฉันสร้างตามที่ Patrice Tisserand บอก แต่ก็ล้มเหลวพร้อมกับข้อความแสดงข้อผิดพลาดต่าง ๆ ดังนี้

[mirror @ hugemeow gdb-7.5] $ CFLAGS = "- I / var / lib / gforge / chroot / home / ผู้ใช้ / 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

คำตอบ:


18

การติดตั้ง libncurses จะแก้ปัญหาของคุณ ลองนี้ถ้าคุณกำลังใช้ใด ๆ Debian sudo apt-get install libncurses5-devOS:


2
ฉันต่อสู้กับสิ่งนี้เพราะฉันไม่ได้สังเกตว่าฉันได้ติดตั้งธรรมดาlibncursesและไม่ใช่แพ็คเกจการพัฒนา
นาธาเนียล Waisbrot

นี่ควรเป็นคำตอบที่ยอมรับได้ โดยวิธีการใน OpenSUSE มันเป็นncurses-develแพคเกจ
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และ--libdirตัวเลือกสำหรับการติดตั้งไดเรกทอรี

ในการใช้ไลบรารีจากไดเรกทอรีอื่นคุณสามารถลองทำสิ่งต่อไปนี้:

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 

ตอนนี้ฉันสร้างตามที่คุณบอกฉัน แต่ก็ล้มเหลวด้วยข้อความแสดงข้อผิดพลาดที่แตกต่างกันดังนี้ ดูการแก้ไข 2
hugemeow

สวัสดีคุณพยายามทำสิ่งที่ผิดตามที่แนะนำในเอาท์พุทข้อความหรือไม่?
Patrice Tisserand

1

สิ่งนี้มีประโยชน์มาก: http://archive09.linux.com/feature/121735

ตัวอย่างนี้แสดงวิธีการประสบความสำเร็จเมื่อคุณพบว่าห้องสมุด termcap เป้าหมายหายไป (cross building ค่อนข้างแตกต่างกันตรงนี้ - ใช้. / config - ช่วยเมื่อสงสัย):

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

คุณไม่ต้องการแทนที่เป้าหมายแบบนั้นจริง ๆ แล้วมันจะเริ่มมองหาเส้นทางนั้นที่รันไทม์บนปลายทางระยะไกลที่ไม่มีเส้นทางนั้น make DESTDIR=$HOME/work/cross installแก้ไขปัญหานั้นได้ แต่ไม่ช่วยค้นหาการขึ้นต่อกันของงาน
Ben Voigt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.