subversion 1.8.5在mac os x 10.9 cmdline.c上编译错误

时间:2013-11-26 15:11:49

标签: macos svn makefile

在Mac OS X 10.9上编译subversion 1.8.5时,我尝试从源代码'make'时遇到这个问题。

  

subversion / libsvn_subr / cmdline.c:在函数'svn_cmdline_create_auth_baton'中:   subversion / libsvn_subr / cmdline.c:630:错误:'SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC'未声明(首次在此函数中使用)   subversion / libsvn_subr / cmdline.c:630:错误:(每个未声明的标识符仅报告一次   subversion / libsvn_subr / cmdline.c:630:错误:对于它出现的每个函数。)   make: * [subversion / libsvn_subr / cmdline.lo]错误1

我最近升级到Xcode 5,如果OS 10.9上的Xcode 5与subversion 1.7或1.8一起运行,或者它没关系?

1 个答案:

答案 0 :(得分:1)

起初我认为这是构建SWIG绑定的问题。我们在SWIG绑定中看到了一个非常类似的问题。我的原始答案如下所示(留下它,因为有些人在查找该错误消息时可能会找到此条目)。

但是,在仔细查看错误后,我发现您在构建Subversion本身时遇到了实际问题。这是一个不同的问题。具体来说,您似乎安装了GNOME密钥环,并且配置检测到它。但是,问题是代码之间存在不匹配,这些代码使得你得到错误的常量(检查平台)和允许使用它的常量(检查找到GNOME Keyring)。

如果您通过--with-gnome-keyring=no进行配置,则应该能够构建。

<强> SWIG

OSX上存在Subversion 1.8.x的已知问题。使用预生成的接口无法正确构建SWIG绑定。如果您安装SWIG,您仍然可以通过执行以下操作成功构建:

make extraclean
./autogen.sh
./configure
make

如果你开始使用新的tarball,可以跳过make extraclean。请注意,extraclean将删除config.nice文件,因此您需要手动传递任何选项以再次配置,而不是使用config.nice。

如果您对血腥细节感兴趣,请详细说明如何解决这个问题: https://mail-archives.apache.org/mod_mbox/subversion-dev/201311.mbox/%3C528D264A.4090305%40reser.org%3E

实际修复它的trunk上的提交在这里: http://svn.apache.org/r1543961

此修补程序有望包含在1.8.6中,因此不再是问题。