OpenLDAP安装及BerkeleyDB错误之解决
在VM虚拟机上安装,系统使debain 2.6.18-5-686。
这里是官方的文档:
OpenLDAP Quick-Start Guide http://www.openldap.org/doc/admin24/quickstart.html
Linux下面安装软件很头疼的是软件之间的依赖性,不像windows所有的基本功能都是mircosoft自己开发的,而linux除了内核之外,一切都可以替换,尤其是涉及图形显示。
Prerequisite software:http://www.openldap.org/doc/admin24/install.html#Prerequisite%20software
注意:确保先安装了gcc和g++,否则无法编译。
如何安装: apt-get install gcc g++
Berkeley的安装的相对简单,基本上不会有问题。下面是涉及的命令:
tar -xzf db-4.6.21.NC.tar
cd db-4.6.21/build_unix
../dist/configure
make
make install
安装OpenLDAP,提示错误:BerkeleyDB not available
网上的解决办法多是设置编译参数:
env CPPFLAGS="-I/usr/local/BerkeleyDB.4.1/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.1/lib" ./configure
我在至少4个系统上测试过了,这个是不行的。
还有一个方法,就是把所需要的文件直接复制到系统文件夹下面:
$su root
#cp /usr/local/BerkeleyDB.4.2/include/* /usr/include/
#cp /usr/ local/BerkeleyDB.4.2/lib/* /usr/lib
这样做,会导致以后安装某些文件出错,至少我碰到了。
终于找到一个我认为最正确的方法:
CPPFLAGS="-I/usr/local/BerkeleyDB.4.6/include"
export CPPFLAGS
LDFLAGS="-L/usr/local/lib -L/usr/local/BerkeleyDB.4.6/lib -R/usr/local/BerkeleyDB.4.6/lib"
export LDFLAGS
LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.6/lib"
export LD_LIBRARY_PATH
./configure
这样设置的环境变量不会在不同的shell间共享,所以不要再一个shell设置变量,到另一个shell去编译!