HCRM博客

为什么在使用rlwrap时会遇到报错问题?

rlwrap 报错详解

rlwrap 是一个命令行工具,它利用 GNU Readline 库为不支持 readline 功能的命令行程序提供命令行编辑、历史记录浏览和自动完成等功能,在安装和使用 rlwrap 的过程中,可能会遇到各种错误,本文将详细解释这些错误的常见原因及其解决方法,并提供相关示例和表格归纳。

常见报错及解决方法

1.1 Invalid configurationx86_64unknownlinux

错误描述:

checking build system type... Invalid configurationx86_64unknownlinux': machinex86_64unknownlinux' not recognized
configure: error: /bin/sh tools/config.sub x86_64unknownlinuxfailed

解决方法:

该错误通常是由于系统中缺少必要的编译工具或库文件,以 RedHat 5.3 64bit 系统为例,可以通过安装 GCC 来解决此问题。

yum install y gcc

安装完成后,再次尝试配置和编译 rlwrap。

1.2 You need the GNU readline library

错误描述:

You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program!

解决方法:

此错误表明系统缺少 GNU Readline 库,可以通过以下步骤安装所需的库:

1、下载并安装 Readline 库:

   wget http://ftp.gnu.org/gnu/readline/readline5.0.tar.gz
   tar zxvf readline5.0.tar.gz
   cd readline5.0
   ./configure
   make && make install

2、安装开发包:

   yum install y readlinedevel

3、重新运行 rlwrap 的配置和编译命令。

1.3 Error adding symbols: DSO missing from command line

错误描述:

error adding symbols: DSO missing from command line

解决方法:

这个错误通常是由于链接器找不到某些共享库,可以尝试手动添加缺失的库,如果缺少libpostproc,可以在编译时添加lpostproc 参数:

gcc o myprogram myprogram.c lpostproc

1.4 Incorrect register used withl suffix

错误描述:

main.c:252: Error: Incorrect register%r12' used withl' suffix

解决方法:

这个错误可能是由于源代码或编译器的问题,可以尝试以下方法:

1、检查 rlwrap 源码包是否有问题,可以尝试重新下载或使用其他版本。

2、如果使用的是较新的编译器,可以尝试降级编译器版本,使用 gcc 4.x 系列而不是最新的 gcc 5.x 或更高版本。

3、直接安装预编译的 rlwrap RPM 包(适用于 CentOS 系统):

   rpm ivh rlwrap0.411.el6.x86_64.rpm nodeps force

安装过程中的依赖问题

2.1 perl 依赖问题

错误描述:

error: Failed dependencies: perl >= 0:5.006 is needed by rlwrap0.421.el7.x86_64

解决方法:

这个错误表明系统缺少 Perl 环境,可以通过以下命令安装 Perl:

yum y install perl

然后重新尝试安装 rlwrap。

2.2 readlinedevel 依赖问题

错误描述:

You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build this program!

解决方法:

此错误表明系统缺少 readlinedevel 包,可以通过以下步骤安装:

1、下载并安装 Readline 库:

   wget http://ftp.gnu.org/gnu/readline/readline5.0.tar.gz
   tar zxvf readline5.0.tar.gz
   cd readline5.0
   ./configure
   make && make install

2、安装开发包:

   yum install y readlinedevel

3、重新运行 rlwrap 的配置和编译命令。

为了方便用户更好地理解和操作,以下是 rlwrap 安装步骤的归纳表:

步骤 命令 说明
1tar zxvf rlwrap0.42.tar.gz 解压 rlwrap 源码包
2cd rlwrap0.42 进入源码目录
3./configure 运行配置脚本
4make 编译源码
5make install 安装 rlwrap
6alias sqlplus='rlwrap sqlplus' 为 sqlplus 设置别名
7source .bash_profile 使别名生效

通过以上步骤,用户可以顺利安装并使用 rlwrap,如果在安装过程中遇到任何错误,可以参考上述解决方法进行处理。

分享:
扫描分享到社交APP
上一篇
下一篇