[Ubuntu-9.10]解决readline库的安装和使用

37381阅读 1评论2011-01-18 shepherder_wang
分类:LINUX


编译postgresql 遇到错误 lreadline 未安装,Ubuntu 和 CentOS 均遇到。

在系统上装Postgresql-9.0,编译的时候怎么都过不了 readline 库这一关。经过了解,在帖子http://abcs007.javaeye.com/blog/587732 readline的作用是使得可以在命令行回滚历史命令,编辑命令。而且bash也是使用的readline的库。

另一方面,postgresql需要的两个选项 --with-lib 和 --with-includes的使用方法在帖子
里指出来是:
--with-includes= [.h file locations]
, and --with-libs=[ lib file location ]

此时,系统里有编译好的libreadline库的so文件,但是没有 readline.h 文件,使用 find 命令什么也找不到,后来发现使用 .h 文件的话,需要再安装开发包文件。也就是后缀为 -dev 的文件。

这是遇见的问题是,需要安装的 readline 开发包文件的版本,用 ldconfig -p | grep readline,查看可以看到系统同时有两种:

libreadline.so.6 (libc6) => /lib/libreadline.so.6
libreadline.so.5 (libc6) => /lib/libreadline.so.5

使用命令 sudo apt-get install libreadline5-dev 安装其中的一个版本,这之后,在 /usr/lib 目录下出现 readline 文件夹,然后可以使用 --with-lib=/usr/lib --with-includes=/usr/include 来编译posgrresql了。

在CentOS-5.4系统下面,开发文件包的后缀名是 -devel,使用命令 yum install readline-devel 安装readline 开发包,之后根据路径使用 --with-lib=/usr/lib 和 --with-includes=/usr/include 选项.

postgresql 提示的是 lreadline ledit 没有安装,而不是 readline,最开始的时候,也不知道需要使用 --with-lib 和 --with-includes 这两个选项,走了许多弯路。还尝试着修改 ./configure 文件,并在失败时根据提示去看 config.log 文件。

小狸
Tue,Jan/18/2011.

上一篇:[Ubuntu-9.10]::Movie Player不能自动加载字幕
下一篇:[CentOS-5.4]安装PostgreSQL遇到"token MB" 不能识别

文章评论