2012-06-03 51 views
1

我最終在Nginx上使用FastCGI運行Trac(http://trac.edgewall.org/wiki/TracFastCgi#SimpleNginxConfiguration)。另外,Subversion與從souce下載的依賴包一起安裝,我調用svnserve作爲守護進程並創建了我的存儲庫。一切似乎都很好。Trac在第一次安裝時不重新同步存儲庫

我想瀏覽Trac中的存儲庫。在我從Trac Web界面將Traces添加到Trac後,它需要一個名稱和我的repo目錄。一條消息說:

您現在應該運行trac-admin $ ENV存儲庫resync「我的回購」到 將Trac與存儲庫同步。

所以我做了。我是通過用戶「trac」完成的,該用戶與創建Trac環境的用戶相同。

然後我得到這個:

警告:不能與庫同步 「(默認)」(不支持的版本控制系統 「SVN」:/usr/local/lib/libsvn_ra_neon-1.so.0 :未定義的符號:xmlFreeParserCtxt)。查看Trac日誌以獲取更多信息。

這裏是什麼日誌中:

2012-06-03 18:28:51,060 Trac[svn_fs] INFO: Failed to load Subversion bindings 
Traceback (most recent call last): 
    File "build/bdist.linux-x86_64/egg/trac/versioncontrol/svn_fs.py", line 267, in __init__ 
    File "build/bdist.linux-x86_64/egg/trac/versioncontrol/svn_fs.py", line 68, in _import_svn 
    File "/usr/local/lib/svn-python/svn/fs.py", line 19, in ? 
    from libsvn.fs import * 
    File "/usr/local/lib/svn-python/libsvn/fs.py", line 7, in ? 
    import _fs 
ImportError: /usr/local/lib/libsvn_ra_neon-1.so.0: undefined symbol: xmlFreeParserCtxt 

有人說,它是網絡服務器和Trac系統是由不同的用戶運行在未經許可的問題。但我不知道如何解決。有人說這是我應該重新安裝的綁定。我試着去python控制檯並輸入'import svn'。什麼都沒發生。

任何想法是怎麼回事?

回答

0

你正在運行什麼操作系統/版本?

你能說清楚你是如何安裝Subversion的嗎?你是否下載了源代碼並從頭開始編譯,或者你是否通過系統的包管理器安裝了它?

同樣,您是手動安裝Trac還是通過包管理器安裝Trac?

錯誤輸出中的最後一行是麻煩的一行。 libsvn_ra_neon庫(Subversion的一部分)試圖引用一個不存在的符號。有一件事可能會導致這種情況是不兼容的版本試圖與對方合作。如果您從頭開始編譯任何系統組件,請嘗試取消安裝它們,然後重新安裝由系統的軟件包管理器提供的版本。這應該通過確保安裝任何必要的輔助庫的兼容版本來解決這些類型的問題。

+0

我從焦油球安裝svn。按照指示編譯時,包含相同版本的tar tar球。它的版本是1.6.18,並且安裝了霓虹燈作爲子目錄。沒有卸載規則。是否必須手動刪除有關svn的所有內容才能立即卸載? – Hao

+0

我在一段時間裏沒有看過Subversion的makefile,但是你應該可以通過'make install'規則閱讀安裝過程。反過來進行相同的過程可能是最簡單的(但可能還不是很容易)的方式來卸載它。一般來說,儘可能使用系統的包管理器來安裝。它會自動爲您處理大部分這些東西,而且手動執行時遇到問題非常容易。 – bta

0

快速的Web搜索發現xmlFreeParserCtxt中的python-libxml2的一部分。

這可能會幫助您追蹤不穩定性。但我同意'bta',你應該使用Linux發行版的倉庫中的打包版本python-subversion來快速解決這個問題。