简体   繁体   English

优胜美地svn 1.6.6分段故障

[英]yosemite svn 1.6.6 segmentation fault

svn stopped working in my Mac after upgrade to Yosemite. 升级到优胜美地后,svn停止在我的Mac上工作。 I know there is a very similar question with no answer, Segmentation fault: 11 in SVN checkout , however I've spent pretty much the whole day with this and I'm adding more information on the issue. 我知道有一个非常相似的问题,没有答案, 分段错误:SVN结账时有11个 ,但是我花了整整一天的时间用这个,我正在添加更多关于这个问题的信息。 I'm hoping somebody maybe somebody can help... I'm really stuck. 我希望有人可以帮助...我真的被卡住了。 I cannot upgrade svn and I'm planning to go back to Mavericks. 我无法升级svn,我打算回到小牛队。

The error I get: 我得到的错误:

svn update
Segmentation fault: 11

I was already working with svn from a binary I compiled myself (although not so familiar with C). 我已经使用自己编译的二进制文件(虽然不太熟悉C)使用svn。 There was some months ago an update of Xcode that removed the old legacy svn 1.6. 几个月前,Xcode的更新删除了旧的旧版svn 1.6。

This time with Yosemite, when I've tried to compile it again, I've seen that the os update has modified apache and APR and the sources do not compile anymore (or at least that's my guess from the error I get): 这次与优胜美地,当我再次尝试编译它时,我已经看到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,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I've downloaded and make install the following: 我已下载并make install以下内容:

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

I was hoping that those versions would be compatible with svn 1.6.6, since, as I've mentioned before, my guess was that it is not compatible anymore to the newest versions. 我希望这些版本与svn 1.6.6兼容,因为,正如我之前提到的,我的猜测是它与最新版本不再兼容。

In other to use those packages that I've downloaded, I had to add options to the configure command. 在其他方面使用我下载的那些软件包,我不得不在configure命令中添加选项。 For apr-util, I had to configure like this: 对于apr-util,我必须像这样配置:

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

As for apache: 至于apache:

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

And finally svn: 最后svn:

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

This way at least svn compiles (I guess that proves it is getting the right versions). 这种方式至少svn编译(我猜这证明它正在获得正确的版本)。 But it does not work, I get the same segmentation fault. 但它不起作用,我得到相同的分段错误。 I've added the /usr/local/... directories to my path just to be sure, although I'd guess svn puts all the library it needs in an accesible directory (I think it is /usr/local/bin, which was already in my path). 我已经将/ usr / local / ...目录添加到我的路径中以确定,虽然我猜svn将所需的所有库放在一个可访问的目录中(我认为它是/ usr / local / bin,这已经在我的路上)。

I have no idea how to go from here. 我不知道怎么离开这里。 I've tried to compile with debug to see if I can get a pointer to the segmentation fault, a core dump or something like that, with no success... 我已经尝试使用debug进行编译,看看我是否可以获得指向分段错误,核心转储或类似内容的指针,但没有成功......

Any help would be much appreciated! 任何帮助将非常感激! And thanks anyway. 不管怎样,谢谢。

EDIT: 编辑:

Following @indiv advice, this is the output of otool: 在@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)

Finally, it worked! 最后,它奏效了! Thanks @indiv for your help! 谢谢@indiv的帮助! I was about to give up and revert to Mavericks. 我正要放弃并回归小牛队。

I had to compile neon, version 0.29.0. 我不得不编译霓虹灯,版本0.29.0。

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

Then I recompiled svn: 然后我重新编译了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

And it works! 它的工作原理!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM