优胜美地svn 1.6.6分段故障

时间:2014-11-24 19:27:16

标签: c apache svn osx-yosemite apr

升级到Yosemite后,svn在我的Mac上停止工作了。我知道有一个非常相似的问题没有答案, Segmentation fault: 11 in SVN checkout但是我花了整整一天的时间来处理这个问题,而且我正在添加更多关于这个问题的信息。我希望有人可以帮助...我真的被卡住了。我无法升级svn,我打算回到小牛队。

我得到的错误:

svn update
Segmentation fault: 11

我已经从我自己编译的二进制文件中使用svn(虽然不太熟悉C)。几个月前,Xcode的更新删除了旧版的svn 1.6。

这一次与优胜美地,当我再次尝试编译时,我已经看到os更新已修改apacheAPR并且源不再编译(或至少这是我对错误的猜测:

/bin/sh /mnt/netzima/icaria/apps/subversion-1.6.6/libtool --tag=CC --silent --mode=compile gcc -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -g -O2  -g -O2   -I/usr/include/apache2 -I./subversion/include -I./subversion -I/usr/local/apr/include/apr-1   -I/usr/local/apr-util/include/apr-1 -I/opt/local/include/neon  -o subversion/mod_authz_svn/mod_authz_svn.lo -c subversion/mod_authz_svn/mod_authz_svn.c
subversion/mod_authz_svn/mod_authz_svn.c:448:9: error: member reference base type 'char' is not a structure or union
        ap_log_rerror(file, line, level, 0, r,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我已下载并make install以下内容:

  • libtool版本2.4.2
  • autoconf version 2.69
  • automake version 1.14
  • apr version 1.3.12
  • apr-util version 1.3.12
  • apache 2.2.29版本

我希望那些版本与svn 1.6.6兼容,因为正如我之前提到的,我的猜测是它与最新版本不再兼容。

另一方面,为了使用我下载的那些软件包,我必须在configure命令中添加选项。对于apr-util,我必须像这样配置:

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

至于apache:

./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --prefix=/usr/local/apache2 --enable-dav --enable-so

最后svn:

./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache2/bin/apxs --enable-maintainer-mode

这种方式至少svn编译(我猜这证明它正在获得正确的版本)。但它不起作用,我得到相同的分段错误。我已经将/ usr / local / ...目录添加到我的路径中以确定,虽然我猜svn将所需的所有库放在一个可访问的目录中(我认为它是/ usr / local / bin,这已经在我的路上了。)

我不知道怎么离开这里。我已经尝试使用debug进行编译,看看我是否可以获得指向分段错误,核心转储或类似内容的指针,但没有成功......

任何帮助将不胜感激! 无论如何,谢谢。

编辑:

关注@indiv建议,这是otool的输出:

/usr/local/bin/svn:

/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57031.1.35)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1151.16.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 62.0.0)
/usr/local/lib/libsvn_client-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_wc-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_ra-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_diff-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_ra_local-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_repos-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_fs-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_fs_fs-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_fs_util-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_ra_svn-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libsasl2.2.dylib (compatibility version 3.0.0, current version 3.15.0)
/usr/local/lib/libsvn_ra_neon-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_delta-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libsvn_subr-1.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/opt/local/lib/libsqlite3.0.dylib (compatibility version 9.0.0, current version 9.6.0)
/usr/local/apr-util/lib/libaprutil-1.0.dylib (compatibility version 4.0.0, current version 4.12.0)
/usr/local/apr/lib/libapr-1.0.dylib (compatibility version 4.0.0, current version 4.12.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
/opt/local/lib/libneon.27.dylib (compatibility version 30.0.0, current version 30.6.0)
/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.2.0)
/opt/local/lib/libssl.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/opt/local/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8)
/System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos (compatibility version 5.0.0, current version 6.0.0)
/opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0)

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

最后,它奏效了!谢谢@indiv的帮助!我正要放弃并回归小牛队。

我必须编译neon,版本0.29.0。

./configure --prefix=/usr/local/neon --with-ssl

然后我重新编译了svn:

./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache2/bin/apxs --enable-debug --enable-maintainer-mode --without-sasl --with-neon=/usr/local/neon --with-ssl

它有效!