我的操作系統是Red Hat Enterprise Linux AS release 4 (Nahant Update 3),需要安裝svn客戶端從代碼服務器獲取代碼,安裝的版本是1.6.5,為了和其他服務器上的版本一致。寫文本時最高版本是1.8.5。
從他的ftp下載,各種版本都有 http://archive.apache.org/dist/subversion/
下載後解壓:tar zxf subversion-1.6.5.tar.gz
進入解壓後的目錄:cd subversion-1.6.5
打開安裝說明:vim INSTALL
主要關心Dependency Overview部分,看看需要哪些第三方庫,標明了required的是必須的,optional是可選的,可以看到:
必須的有: apr(Apache Portable Runtime),apu(Apache Portable Runtime Util),SQLite,libz 可選的有(只挑重要的): libneon或者libserf,注意這裡是或者,二選一,這兩個都是用於http方式的代碼庫的opensslwget http://mirror.esocc.com/apache//apr/apr-1.5.0.tar.gz
tar zxf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure --prefix=/path/you/want/to/install
make && make install
wget http://mirror.esocc.com/apache//apr/apr-util-1.5.3.tar.gz
tar zxf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --prefix=/path/you/want/to/install --with-apr=/path/to/installed/apr-1-config
make && make install
wget http://zlib.net/zlib-1.2.8.tar.gz
tar zxf zlib-1.2.8.tar.gz
移動到subversion的源碼根目錄:
mv zlib-1.2.8 /path/to/subversion-1.6.5/zlib
wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
tar zxf sqlite-amalgamation-3.6.13.tar.gz
mv sqlite-amalgamation-3.6.13.tar.gz /path/to/subversion-1.6.5/sqlite-amalgamation
這個版本的subversion,neon比serf好裝,他倆都用於訪問http,https鏈接;並且對libneon的版本要求也有限制,需要0.28.4
wget http://www.webdav.org/neon/neon-0.28.4.tar.gz
tar zxf neon-0.28.4.tar.gz
cd neon-0.28.4
./configure --with-prefix=/path/you/want/to/install --with-ssl=openssl --enable-shared
make && make install
下面這步也比較關鍵,具體原因可參考subversion的./configure --help中給出的說明:
mv neon-0.28.4 /path/to/subversion-1.6.5/neon
這個版本的subversion要求的swig版本是1.3.24 ~ 1.3.36,不過我用的2.0.12也沒有影響,只是配置時報warning了
wget http://prdownloads.sourceforge.net/swig/swig-2.0.12.tar.gz
tar zxf swig-2.0.12.tar.gz
cd swig-2.0.12
./configure --prefix=/path/to/install
make && make install
cd /path/to/subversion-1.6.5
./configure --prefix=/path/to/install/subversion
--with-apr=/path/to/installed/apr/bin/apr-1-config
--with-apr-util=/path/to/installed/apr-util/bin/apu-1-config
--with-ssl //這裡不需要寫目錄
--with-swig=/path/to/installed/swig/bin/swig //swig可能對編譯有影響,之前沒配置編譯就沒通過
要說明的是neon、sqlite、zlib之前都拷貝到了該目錄下,所以在配置時不需要指定,另外neon比較特別:
如果要在配置時指定,則只能寫成--with-neon=PREFIX,PREFIX表示你要安裝subversion的目錄,並且在該目錄的bin目錄下要能找到neon-config可執行文件;如果不指定,則在subversion-1.6.5這個目錄下要找的到neon的源代碼目錄(之前我們已經mv過來了),並且neon-config要在$PATH環境變量中。下面就可以:make && make install
至此,安裝完成!