中央文明办公益广告库:How to solve No termcap nor curses library fo...

来源:百度文库 编辑:中财网 时间:2024/04/30 03:47:09

在Linux平台下,想在Oracle数据库的SQL*PLUS的命令行提示符下,利用键盘上的上下箭头,调出历史执行的SQL命令,可以考虑采用rlwrap这一开源工具。

现,简单记录一下安装过程(Red Hat Enterprise Linux as 5.4环境)。以前在4版本的操作系统上安装时很顺利,就不再记录。

①解压并安装rlwrap工具:

 01[root@server1 ~]# tar -zxvf rlwrap-0.30.tar.gz 02  03....... 04  05....... 06  07[root@server1 ~]# cd rlwrap-0.30 && ll 08  09total 464 10  11-rw-rw-r-- 1 hekan hekan  32266 Jan  8  2008 aclocal.m4 12  13-rw-r--r-- 1 hekan hekan    638 Aug 15  2006 AUTHORS 14  15-rw-r--r-- 1 hekan hekan   4740 Nov 10  2007 BUGS 16  17-rw-r--r-- 1 hekan hekan    105 Aug 10  2003 ChangeLog 18  19drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 completions 20  21-rw-rw-r-- 1 hekan hekan   5489 Jan  8  2008 config.h.in22  23-rwxr-xr-x 1 hekan hekan 217282 Jan  8  2008 configure 24  25-rw-r--r-- 1 hekan hekan   9860 Jan  8  2008 configure.ac 26  27-rw-r--r-- 1 hekan hekan  17992 Aug  8  2006 COPYING 28  29drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 distribution 30  31drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 doc 32  33-rw-r--r-- 1 hekan hekan   1927 Nov 10  2007 INSTALL 34  35-rw-r--r-- 1 hekan hekan    436 Nov 10  2007 Makefile.am 36  37-rw-rw-r-- 1 hekan hekan  22987 Jan  8  2008 Makefile.in38  39-rw-r--r-- 1 hekan hekan  11187 Jan  3  2008 NEWS 40  41-rw-r--r-- 1 hekan hekan   2745 Nov 10  2007 README 42  43drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 src 44  45drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 test46  47-rw-r--r-- 1 hekan hekan    480 Nov 10  2007 TODO 48  49drwxrwxrwx 2 hekan hekan   4096 Jan  8  2008 tools 50  51[root@server1 rlwrap-0.30]# ./configure 52  53...... 54  55checking for tgetent... no 56  57checking for tgetent in -lcurses... no 58  59checking for tgetent in -lncurses... no 60  61checking for tgetent in -ltermcap... no 62  63configure: WARNING: No termcap nor curses library found 64  65checking for readline in -lreadline... no 66  67configure: error: 68  69You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build 70  71this program! 72  73[root@server1 rlwrap-0.30]#

报错!提示需要安装readline-devel-5.1-1.1.i386.rpm包。
② 安装readline-devel-5.1-1.1.i386.rpm 包:

 1[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm 2  3warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 4  5error: Failed dependencies: 6  7libtermcap-devel is needed by readline-devel-5.1-1.1.i386 8  9[root@server1 ~]#

又报错提示缺失libtermcap-devel包!

继续安装:

 01[root@server1 ~]# rpm -ivh libtermcap-devel-2.0.8-46.1.i386.rpm 02  03warning: libtermcap-devel-2.0.8-46.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 04  05Preparing...                ########################################### [100%] 06  071:libtermcap-devel       ########################################### [100%] 08  09[root@server1 ~]# rpm -ivh readline-devel-5.1-1.1.i386.rpm 10  11warning: readline-devel-5.1-1.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186 12  13Preparing...                ########################################### [100%] 14  151:readline-devel         ########################################### [100%] 16  17[root@server1 ~]# cd rlwrap-0.30 18  19[root@server1 rlwrap-0.30]# ./configure 20  21checking build system type... i686-pc-linux-gnu 22  23checking host system type... i686-pc-linux-gnu 24  25checking for a BSD-compatible install... /usr/bin/install -c 26  27checking whether build environment is sane... yes28  29checking for a thread-safe mkdir -p... /bin/mkdir -p 30  31checking for gawk... gawk32  33checking whether make sets $(MAKE)... yes34  35............ 36  37............ 38  39configure: creating ./config.status 40  41config.status: creating Makefile 42  43config.status: creating doc/Makefile 44  45config.status: creating src/Makefile 46  47config.status: creating doc/rlwrap.man48  49config.status: creating distribution/rlwrap.spec 50  51config.status: creating config.h 52  53config.status: executing depfiles commands 54  55Now do: 56  57make (or gmake)  to build rlwrap 58  59make check       for instructions how to test it 60  61make install     to install it 62  63[root@server1 rlwrap-0.30]#

③ 根据执行执行,make,make install:

 01[root@server1 rlwrap-0.30]# make 02  03make  all-recursive 04  05...... 06  07[root@server1 rlwrap-0.30]# make install 08  09Making install in doc 10  11...... 12  13make[2]: Leaving directory `/root/rlwrap-0.30' 14  15make[1]: Leaving directory `/root/rlwrap-0.30' 16  17[root@server1 rlwrap-0.30]#

④ 修改oracle 用户的配置文件,

 1[oracle@server1 ~]$ pwd2  3/home/oracle 4  5[oracle@server1 ~]$ vi .bash_profile

在其中,添加类似配置信息:

 1alias sqlplus='rlwrap sqlplus /nolog'

⑤至此,oracle在SHELL提示符下,只需要执行sqlplus就可以进入SQL*PLUS的命令行提示符,并且可以利用键盘的上下箭头调出之前执行过的历史命令。

这是在RHEL 5.4版本的操作系统上安装时的简单记录,而之前没遇到过类似的问题,故简单记录之。

即先安装libtermcap-devel-2.0.8-46.1.i386.rpm

然后安装 readline-devel-5.1-1.1.i386.rpm

最后安装rlwrap工具包。