Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305486
  • 博文数量: 54
  • 博客积分: 3050
  • 博客等级: 中校
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-25 16:53
文章分类
文章存档

2012年(1)

2011年(7)

2010年(46)

我的朋友

分类: LINUX

2011-01-18 18:50:20


编译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.

阅读(36400) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-03-09 09:39:31

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com