make uninstallがあるのにStow使ってインストールしようとしたのが悪かったかなぁ?
と言うか、それ以前にOpenLDAPにBerkeleyDBが必要な事自体、まったく知りませんでしたから orz
[??@debian]# tar xvzf db-4.6.21.tar.gz
[??@debian]# cd db-4.6.21/build_unix
[??@debian]# ../dist/configure --prefix=/usr/local/stow/BerkeleyDB
[??@debian]# make
[??@debian]# su root -c 'make install'
※例にStowで管理してみようと思ったが為にPrefixでStow用のディレクトリ配下を指定[??@debian]# cd db-4.6.21/build_unix
[??@debian]# ../dist/configure --prefix=/usr/local/stow/BerkeleyDB
[??@debian]# make
[??@debian]# su root -c 'make install'
[??@debian]# cd /usr/local/stow
[??@debian]# su root -c 'stow BerkeleyDB'
[??@debian]# su root -c 'stow BerkeleyDB'
ここまでは全然OKです.
Stowでインストール管理も出来ます(しつこい様ですが、BerkeleyDBにはmake uninstallがありますw).
そして本題のOpenLDAPです.
これもStow配下へのインストールを試みます.
[??@debian]# tar xvzf openldap-2.4.8.tgz
[??@debian]# openldap-2.4.8/configure --prefix=/usr/local/stow/openldap
Configuring OpenLDAP 2.4.8-Release ...
[中略]
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 6
checking for Berkeley DB link (-ldb-4.6)... yes
checking for Berkeley DB version match... no
configure: error: Berkeley DB version mismatch
※Prefixを付けて標準以外のディレクトリにインストールすると、db.hのチェックで見付けられない可能性があります.今回はStowでインストールかましているのでパスが通っています.[??@debian]# openldap-2.4.8/configure --prefix=/usr/local/stow/openldap
Configuring OpenLDAP 2.4.8-Release ...
[中略]
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 6
checking for Berkeley DB link (-ldb-4.6)... yes
checking for Berkeley DB version match... no
configure: error: Berkeley DB version mismatch
おうぷし orz
思い切りエラーが出やがります.
バージョンが合わないって…おかしい.
ここ↓を見てバージョンに間違いない事を確認したはずなんだけどなぁ…
D. Recommended OpenLDAP Software Dependency Versions
と言う事でいつもの如く他力本願で検索ごー!
LDAP Programming(のフォーラムらしい)
※検索すると日本語ページの結果が出てきましたが、多分そこの情報を鵜呑みにすると面倒な事になります.
ここの下の方を見ると
export CPPFLAGS="-I/usr/local/BerkeleyDB.4.2/include"
export LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.2/lib/"
export LDFLAGS="-L/usr/local/BerkeleyDB.4.2/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.2/lib/"
と書いてあるので、どうやらパスが通ってないらしい.
だったらエラーメッセージに「パスが通ってねーんだよコンチクショー!」と出力してくれればいいものを orz
何故メッセージが「version mismatch」?
と言う事で、いつまた再インストールやら設定変更するか分かりませんので、何度もexportする必要が無い様にldを使います.
[??@debian]# su
[debian]# echo /usr/local/stow/BerkeleyDB/include >> /etc/ld.so.conf.d/BerkeleyDB.conf
[debian]# echo /usr/local/stow/BerkeleyDB/lib >> /etc/ld.so.conf.d/BerkeleyDB.conf
[debian]# ldconfig
[debian]# exit
[debian]# echo /usr/local/stow/BerkeleyDB/include >> /etc/ld.so.conf.d/BerkeleyDB.conf
[debian]# echo /usr/local/stow/BerkeleyDB/lib >> /etc/ld.so.conf.d/BerkeleyDB.conf
[debian]# ldconfig
[debian]# exit
これでパスが通ってる「はず」なので、もう一度configureを実行してみます.
[??@debian]# openldap-2.4.8/configure --prefix=/usr/local/stow/openldap
Configuring OpenLDAP 2.4.8-Release ...
[中略]
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 6
checking for Berkeley DB link (-ldb-4.6)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB/HDB backends... yes
[中略]
Making servers/slapd/backends.c
Add config ...
Add ldif ...
Add monitor ...
Add bdb ...
Add hdb ...
Add relay ...
Making servers/slapd/overlays/statover.c
Add seqmod ...
Add syncprov ...
Please run "make depend" to build dependencies
[??@debian]# make depend
[??@debian]# make
[??@debian]# su root -c 'make install'
[??@debian]# cd /usr/local/stow
[??@debian]# su root -c 'stow openldap'
Configuring OpenLDAP 2.4.8-Release ...
[中略]
checking for db.h... yes
checking for Berkeley DB major version... 4
checking for Berkeley DB minor version... 6
checking for Berkeley DB link (-ldb-4.6)... yes
checking for Berkeley DB version match... yes
checking for Berkeley DB thread support... yes
checking Berkeley DB version for BDB/HDB backends... yes
[中略]
Making servers/slapd/backends.c
Add config ...
Add ldif ...
Add monitor ...
Add bdb ...
Add hdb ...
Add relay ...
Making servers/slapd/overlays/statover.c
Add seqmod ...
Add syncprov ...
Please run "make depend" to build dependencies
[??@debian]# make depend
[??@debian]# make
[??@debian]# su root -c 'make install'
[??@debian]# cd /usr/local/stow
[??@debian]# su root -c 'stow openldap'
はい、OKそうです…実際に動くかは試してませんがw
まぁ、ここまでくればなんとかなりそうです.
それにしても、OpenLDAPを動かすのって結構面倒です.
今回は素で入れてますが、実際にはオプションなんか指定する必要があるはずですので、その辺の調査も必要ですし.
※本文修正3回以上 orz
0 件のコメント:
コメントを投稿