svn: Unrecognized URL scheme

服務器上不清楚誰編譯了一個svn,checkout項目的時候,總是報錯
svn: Unrecognized URL scheme for "http://xxxxxx"
從網上看到有人也提到了類似的問題,解決辦法是重新編譯subversion。

正常情況下,執行svn --version輸出應該是:
svn,版本 1.4.0 (r21228)
   編譯於 Mar 21 2008,23:23:48

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

可使用以下的檔案庫存取 (RA) 模塊:

* ra_dav : 通過WebDAV (DeltaV) 協議訪問檔案庫的模塊。
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : 使用svn網絡協議訪問檔案庫的模塊。
- handles 'svn' scheme
* ra_local : 訪問本地磁盤的檔案庫模塊。
- handles 'file' scheme
但是現在沒有了黃色背景的部分。

重新編譯的時候下載的subversion的源代碼是1.4.0,同時需要一個配套的neon-0.25.5,可以從http://www.webdav.org/neon/neon-0.25.5.tar.gz下載。
下載了neon之後,可以將neno解壓到subversion的源碼目錄中,需要將neon解壓之後的目錄重新命名爲neon。或者自行編譯neon,configure subversion的時候制定neon的目錄就可以了。
我當時做的時候,是自行編譯了neon,但是編譯subversion的時候出錯了,提示:
libneon.a(ne_request.o): relocation R_X86_64_32 against `a local symbol'

從Google中搜了一下,可能是因爲服務器版本的問題。難道是64位導致的?不太清楚
不過找到了解決的辦法,地址是:
http://joemaller.com/2008/01/29/how-to-install-subversion-on-a-shared-host/
可能是先前編譯的apr,apr-util,neon的參數不對的緣故。按照上面鏈接中的內容給出的編譯參數(如下):
cd apr
./configure --enable-shared --prefix=$HOME
make && make install

cd ../apr-util
./configure --enable-shared --prefix=$HOME \
     --with-expat=builtin --with-apr=$HOME \
     --without-berlekey-db
make && make install

cd ../neon
./configure --enable-shared --prefix=$HOME \
     --with-libs=$HOME --with-ssl
make && make install
將自己當時編譯的時候,缺少的參數加上了,之後再編譯subversion,一切就都好了。

執行svn --version的時候,提示信息也正確了。從google code上co了一個項目,一切正常。

 

轉自http://hi.baidu.com/%C0%EE%D3%F1%B1%B1/blog/item/6aefe27f0634d00c28388a3f.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章