(我认为这是发布帖子的正确论坛,也考虑过 StackOverflow,但这不是真正的编码,而 serverFault 似乎是较低级别的操作系统项目)
经过几个小时尝试通过各种 XCode 和 MacPorts 尝试将 matplotlib 添加到 Python 后,我发现 Subversion 已损坏。我在网上找到的方法似乎无法修复它,甚至重新安装也无法修复它。
问题:
命令:
svn -version
产生这个:
Error:
dyld: Library not loaded: @rpath/usr/lib/libneon.27.dylib
Referenced from: /usr/bin/svn
Reason: Incompatible library version: svn requires version 30.0.0 or later, but libneon.27.dylib provides version 29.0.0
Trace/BPT trap: 5
另外一个症状:
Python 处于一种奇怪的状态。--version 为 2.7.2。但是现在,如果我尝试导入 matplotlib,我会得到 OS X“python 意外结束”
我不明白 python 和 subversion 之间的联系;svn 错误需要优先修复!
系统:
Mac OS X Mountain Lion,最新版,Java 7。XCode 和 Macports 信息如下
背景/我迄今为止尝试过的:
我发现了 3 个 svn 可执行文件,都出现相同的错误:
- /usr/bin/svn
- /opt/subversion/bin/svn
- /应用程序/Xcode.app/Contents/Developer/usr/bin/svn
更新 MacPorts 成功
sudo port selfupdate
sudo port upgrade outdated
有一次尝试切换到 MacPorts 的 svn,成功完成,但结果却出现了同样的错误
sudo port install subversion
检查 XCode 是否为最新版本(App Store 报告为 4.6.3 及最新版本,但关于 Xcode 显示为 3.2.6)
重新安装了 XCode 命令行工具。现在不再位于 XCode 首选项下,而是从开发者网站下载。获取了 2013 年 3 月 4.6.1 版本(似乎是最新版本),并安装成功。
我曾经想过尝试一下霓虹灯,但对它了解不多,而且担心我可能会进一步破坏我的系统。
更新:
我在 XCode 偏好设置中没有看到“下载命令行工具”的原因是我运行了错误的 XCode 副本。旧版 XCode 位于 /Developer 下,而 App Store 中的新版 XCode 位于 /Applications 下
在 /Apps 下运行较新的 XCode,我确实更新了命令行工具,但仍然遇到与以前相同的错误(库加载错误等,在本文顶部描述)
答案1
SVN 仍然在另一台 Mac 上运行,我还没有用 python/macports 弄乱它,而且如果我以 root 身份运行,它也可以在“坏”Mac 上运行。
which svn
在好的 Mac 上执行显示/opt/subversion/bin/svn
,并且 svn --version 给出1.6.15 (r1038135) Nov 29, 2010
了协作网络。
长话短说,我发现了两种让它工作的方法:
方法 1:
- 首先是 /opt/subversion/bin/svn 可执行文件的路径(实际上
/opt/subversion/bin
),然后 - DYLD_LIBRARY_PATH=/opt/subversion/lib:/usr/lib
方法 2:
- 首先是 /usr/bin/svn 路径,然后
- DYLD_LIBRARY_PATH不是放
其他几点说明:
- 我以为我之前尝试过 /opt/subversion/bin/svn,但没有成功,但我通过重命名来测试,结果测试肯定是错误的
- 我曾想过检查 LD_LIBRARY_PATH,但没想到 DYLD......
- 还没有重新审视原始的 Python 问题