1

我终于让 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'。没啥事儿。

知道发生了什么吗?

4

2 回答 2

0

您正在运行什么操作系统/版本?

你能澄清一下你是如何安装 Subversion 的吗?您是下载源代码并从头开始编译,还是通过系统的包管理器安装它?

同样,您是手动安装 Trac 还是通过包管理器安装?

错误输出中的最后一行是令人不安的行。库(Subversion的libsvn_ra_neon一部分)试图引用一个不存在的符号。可能导致这种情况的一件事是试图相互合作的某些东西的不兼容版本。如果您从头开始编译任何系统组件,请尝试卸载它们并重新安装系统包管理器提供的版本。这应该通过确保安装任何必要辅助库的兼容版本来解决这些类型的问题。

于 2012-06-04T23:30:36.003 回答
0

快速的网络搜索显示xmlFreeParserCtxtpython-libxml2的一部分。

这可能会帮助您追踪变化无常。但我同意“bta”,您应该使用 Linux 发行版存储库中的打包版本的python-subversion来快速摆脱这种情况。

于 2012-06-04T23:58:02.420 回答