dポイントプレゼントキャンペーン実施中!

mod_davとmod_dav_fsをコンパイルし、httpd.confを編集し
<Location /svn>
DAV svn
SVNPath /var/lib/svn/repository/
</Location>
としたところ、「Unknown DAV provider: svn」とエラーと出ました。

自分はcentOS5.5でApache2.2はソースから、Subversionはyumからインストールしました。
よってyumからinstallでは駄目なんじゃないかと思い、で、mod_dav_svn.soをいつものようにapxs等でソースからインストールしようと思ったのですが、web上で全く情報が無く全部yumからのインストールでした。

1時間くらい探しまわったのですが、仕方が無く
yum istall mod_dav_svn
を行いましたが当たり前ですが、/usr/local/apache2/modules/内には存在しませんでした。
で、/etc/httpd/modules/内のmod_dav_svn.soを使おうと思いhttpd.confに
LoadModule dav_svn_module /etc/httpd/modules/mod_dav_svn.so
を追記した所、
「httpd: Syntax error on line 60 of /usr/local/apache2/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_dav_svn.so into server: /usr/lib/libsvn_fs_base-1.so.0: undefined symbol: db_create」とエラーが出ました。

どのようにしたらmod_dav_svnをインストール出来るのでしょうか?
自分としては、yumではなくソースからコンパイルしたいと思っております。
無理であればyumからでもいいのですが、その場合どのようにすればうまくいくのでしょうか?

A 回答 (2件)

>皆さんはパッケージ以外からインストールした場合はどのようにされているのか疑問です。



皆さんに含まれるかは不明ですが…
私の場合はspecファイルに手を加える。などで、まずはパッケージ化できないか考えます。
ディストリのsrpmに手を加える。近いディストリのsrpmに手を加える。他のディストリのsrpmに…以下略。
ソースのパッケージ内に.specが入ってることもありますしね。<motionはソレでビルドした
# どうしても見つからなければcheckinstallでrpm化します。
# 依存関係で挫折したこともありますが…。

>Subversionをソースからコンパイルすれば作成されるのかという事

ソースからビルドすれば作成されるハズです。
[user@localhost ~]$ LANG=C rpm -qi mod_dav_svn
Name    : mod_dav_svn         Relocations: (not relocatable)
Version   : 1.6.15              Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Release   : 1.rf             Build Date: Fri Nov 26 17:30:04 2010
Install Date: Mon Nov 29 11:13:46 2010   Build Host: localhost
Group    : System Environment/Daemons  Source RPM: subversion-1.6.15-1.rf.src.rpm
Size    : 155863              License: BSD
Signature  : (none)
Packager  : Dag Wieers <dag@wieers.com>
URL     : http://subversion.tigris.org/
Summary   : Apache server module for Subversion server.
Description :
The mod_dav_svn package allows access to a Subversion repository
using HTTP, via the Apache httpd server.
[user@localhost ~]$
となります。
見ての通り、rpmパッケージです。
specいぢって自分でビルドしたものですが。(VendorやPackager、パッケージの"rf"は変更するべきだった…かな)
展開したソースのsrcディレクトリ下にmod_~のディレクトリもあったかと。

>何故Web上でダウンロードする場所がないのか

subversion本体のサブパッケージの扱いになりますから、単体で存在する意味がないのでしょう。
ライブラリとしてsubversion本体も必要ですし。

rpmパッケージとしてはビルドできましたが…Subversionのソースを展開してビルドしたことは…無いです。
    • good
    • 0

うちのSubversionはrpmforgeから取得したもの(正確にはSRPMを取ってきて、specを少しいじってある)ですが…



>[user@localhost ~]$ rpm -qf /usr/lib/libsvn_fs_base-1.so.0
>subversion-1.6.15-1.rf

ということで、Subverion本体が必要です。
# まぁ、mod_dav_svnだけではSubversionの機能は使えませんからねぇ…。

しかし……ソースからだといろいろなところでrpmパッケージ使おうとすると問題になりそうですが…。
# あのパッケージがないからインストールできない。とか……。

SRPM取得して、ソースアーカイブの更新やspecファイルに手を入れて、独自RPMをビルドした方がまだマシかと思われますが…。
# バージョンの不整合が発生する可能性はありますが…「xxxのパッケージがない」とか言われてどうにもできなくなる。というのは回避できるかと。

この回答への補足

調べてみると、Apacheのコンパイル時に何か設定しなったのが原因だそうですが、関係するBerkeleyDBをインストールした覚えもないので、もしかしたらこれもまたコンパイルしないといけなそうです。
つまり、Subversionも削除してソースから・・・となりそうです。
Subversionのyum時に関連として入ってくれているのか分かりませんが。

自分は多くをソースからインストールしていまして、パッケージからだと今回のように上手くいかないことがありまして・・・。

ただ、何故mod_dav_svnが存在しないのかが疑問です。
Subversionをソースからコンパイルすれば作成されるのかという事と、何故Web上でダウンロードする場所がないのかと言うことです。
皆さんはパッケージ以外からインストールした場合はどのようにされているのか疑問です。

補足日時:2010/11/30 12:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!