4月 12, 2009 0

Apache起動時に、Undefined symbol “dav_svn_split_uri”と出る場合

By in Diary, FreeBSD

テスト用途のため新規FreeBSDサーバをたてました。その際、一瞬はまったのでメモ。
WebDAV経由のSubversion運用をしたいので、Apache22に続いて、Subversionをインストールしました。しかし、インストール完了後、以下メッセージが出力されて、Apacheの再起動が出来ませんでした。

httpd: Syntax error on line 116 of /usr/local/etc/apache22/httpd.conf: Cannot load /usr/local/libexec/apache22/mod_authz_svn.so into server: /usr/local/libexec/apache22/mod_authz_svn.so: Undefined symbol “dav_svn_split_uri”

原因はわかってみると非常に単純で、Apacheモジュールの読み込み順でした。
下にあるのが正しい読み込み順序で、dav_svn_moduleが、authz_svn_moduleよりも前にないと上記のエラーが出ます。

LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so

上記のモジュール読み込み記述は、通常アプリケーションインストール時(FreeBSDならば大抵はportsからでしょう)に自動で、httpd.confに追加されます。ですので、エラーで起動できないことは、あまりないとは思いますが、今回新規インストールしたときは、なぜか逆に記述されていたんです、何故???

再現性があるかどうか検証する余裕はないので、今回このまま進みます。運用できたので良しとしましょう。

Tags: ,

Leave a Reply