- 论坛徽章:
- 0
|
在redhat linux9中是带有openldap安装包的,但是没有它的守护进程sldapd,于是首先到openldap.org网站上下载openldap的源码包,解压后运行configure,结果提示:configure: error: BDB: BerkeleyDB version incompatible,到google上查这个错误,好像是说和BerkeleyDB的版本不一样,于是到www.sleepycat.com网站下载BerkeleyDB4.2.52,按说明到build_unix目录,运行../dist/configure;make;make install,安装好BerkeleyDB4.2.52到/usr/local目录下。
重新编译openldap,还是出现同样的错误,同时发现提示中-ldb42,-ldb4.2等等都没有找到,这说明configure文件没有找到我新装的库,察看/usr/lib下面的库文件,发现只有40的文件存在,于是将BerkeleyDB下的库文件放到该目录下,该提示不再出现,但是还是出现版本不兼容的错误,网上也查不到解决办法,没办法,只好亲自动手查找原因,首先打开config.log文件,察看发现有一段错误提示,大意是conftest.c文件错误,这个程序的内容就在提示的下面,将该段程序剪贴出来存成conftest.c,然后编译,编译通过,问题不在这里,运行它,提示段错误,看来问题就在这里了,调试该文件,发现问题出在ENV->;open函数上,怎么会这样呢,库文件版本是对的,怎么会出问题,哦,对了,include文件,我将BerkeleyDB4.2.52的include文件放到/usr/include下,重新编译,运行,ok!
总结步骤:1.下载BerkeleyDB4.2.52编译安装
2.将BerkeleyDB4.2.52安装目录下的lib和include目录下的文件复制到/usr/的对应目录下
3.下载openldap2.1.30,编译安装即可。 |
|