SVNをソースからビルドする

Ubuntu12.04LTS版にもともとインストールされていたパッケージかは定かではないが、リポジトリのパスにURL(httpやhttps)を指定すると、アクセスできない問題が発生していた。
仕方がないので、ソースからビルドすることに。そのときの手順に関するメモを記す。

aprビルド

 > tar xvfz apr-1.3.6.tar.gz  
 > cd apr-1.3.6  
 > ./configure –prefix=/usr/local/apr/apr-1.4.8  
 > sudo make  
 > sudo make install

apr-util

 > ./configure \  
 –prefix=/usr/local/apr-util/apr-util-1.5.2 \  
 –with-apr=/usr/local/apr/current \  
 > sudo make  
 > sudo make install

openssl

 > ./config –prefix=/usr/local/openssl/openssl-1.0.1g  
 > make  
 > make install

Apache (apxs目的)

 ./configure \  
 –prefix=/usr/local/httpd/httpd-2.4.6 \  
 –enable-so \  
 –enable-ssl \  
 –enable-rewrite \  
 –enable-proxy \  
 –enable-proxy-http \  
 –enable-proxy-connect \  
 –with-mpm=prefork \  
 –disable-imagemap \  
 –with-apr=/usr/local/apr/current \  
 –with-apr-util=/usr/local/apr-util/current \  
 –with-pcre=/usr/local/pcre/current \  
 –with-ssl=/usr/local/openssl/current \

Subversion

http, httpsスキームの解決にはneon(neon-0.29.6)パッケージが必要。自前でビルドしたものの、設定が悪いのかビルドは成功するが、–versionで確認するとサポートされなくて困ったことに。

いろいろ調べると、Subversionパッケージ内には必要なライブラリソースを一括ダウンロードするシェルget-deps.shが同梱されているので、事前に実行しておく。

> ./get-deps.sh

>./configure \  
 –prefix=/usr/local/subversion/subversion-1.7.14  
 –with-apr=/usr/local/apr/current  
 –with-apr-util=/usr/local/apr-util/current  
 –with-apxs=/usr/local/httpd/current/bin/apxs  
 –with-ssl=/usr/local/openssl/current

ビルドモジュールの確認を行う。–versionで、ra_neonがビルトインされていることを確認する

> svn –version  
 svn, version 1.7.14 (r1542130)  
 compiled Feb 17 2014, 21:37:34

Copyright (C) 2013 The Apache Software Foundation.  
 This software consists of contributions made by many people; see the NOTICE  
 file for more information.  
 Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.  
 – handles ‘http’ scheme  
 – handles ‘https’ scheme  
 * ra_svn : Module for accessing a repository using the svn network protocol.  
 – handles ‘svn’ scheme  
 * ra_local : Module for accessing a repository on local disk.  
 – handles ‘file’ scheme  
 * ra_serf : Module for accessing a repository via WebDAV protocol using serf.  
 – handles ‘http’ scheme  
 – handles ‘https’ scheme