在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一起运行,或者它没关系?
答案 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中,因此不再是问题。