2012-06-03 52 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来快速解决这个问题。