我终于让 Trac 在 Nginx 上运行 FastCGI (http://trac.edgewall.org/wiki/TracFastCgi#SimpleNginxConfiguration)。此外,Subversion 与来自源下载的依赖包一起安装,我调用 svnserve 作为守护进程并创建了我的存储库。一切似乎都很好。
我想在 Trac 中浏览我的存储库。在我从 Trac Web 界面将存储库添加到 Trac 之后,它需要一个名称和我的 repo 目录。一条消息说:
您现在应该运行 trac-admin $ENV repository resync "My Repo" 以将 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
有人说 webserver 和 Trac 由不同的用户运行是权限问题。但我不知道如何解决。有人说这是我应该重新安装的绑定。我试着去 python 控制台并输入'import svn'。没啥事儿。
知道发生了什么吗?