今天在一台Centos5.4的主机上交叉编译某个MIPS64平台的ncurses-5.7的代码的时候,会在执行tic时挂死。
具体的打印信息如下:
....
....
....
cd misc && make DESTDIR="/home/xxxx/libraries" install
make[4]: Entering directory `/home/xxxx/ncurses-5.7/misc'
DESTDIR=/home/xxxx/libraries \
prefix=/usr \
exec_prefix=/usr \
bindir=/usr/bin \
top_srcdir=.. \
srcdir=. \
datadir=/usr/share \
ticdir=/usr/share/terminfo \
source=terminfo.tmp \
THIS_CC="mips64-xxxx-gcc" \
THAT_CC="gcc" \
/bin/sh ./run_tic.sh
** Building terminfo database, please wait...
Running tic to install /home/xxxx/libraries/usr/share/terminfo ...
You may see messages regarding extended capabilities, e.g., AX.
These are extended terminal capabilities which are compiled
using
tic -x
If you have ncurses 4.2 applications, you should read the INSTALL
document, and install the terminfo without the -x option.
经过在网上搜索以及做实验,发现是由于主机上ncurses版本过低造成的(tic命令在ncurses中提供)。
$] yum provides /usr/bin/tic
Loaded plugins: fastestmirror
ncurses-5.5-24.20060715.i386 : A terminal handling library
Repo : base
Matched from:
Filename : /usr/bin/tic
ncurses-5.5-24.20060715.x86_64 : A terminal handling library
Repo : base
Matched from:
Filename : /usr/bin/tic
ncurses-5.5-24.20060715.i386 : A terminal handling library
Repo : installed
Matched from:
Other : Provides-match: /usr/bin/tic
ncurses-5.5-24.20060715.x86_64 : A terminal handling library
Repo : installed
Matched from:
Other : Provides-match: /usr/bin/tic
但是yum install提示已经是最新的版本,最终只能通过ncurses-5.7源代码编译主机上的版本并安装。
tar -zxf ncurses-5.7.tar.gz
cd ncurses-5.7
./configure
make
sudo make install