Mac OS上的git命令行错误“dyld:找不到符号:___ strlcpy_chk”

时间:2014-04-11 14:16:39

标签: git macos osx-snow-leopard dylib versions

我在Mac OS上安装了git,当我尝试用git init创建一个新的存储库时,我收到此错误:

 dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
 Referenced from: /usr/local/git/bin/git
 Expected in: /usr/lib/libSystem.B.dylib

 dyld: Symbol not found: ___strlcpy_chk
 Referenced from: /usr/local/git/bin/git
 Expected in: /usr/lib/libSystem.B.dylib

 Trace/BPT trap: 5

注意:我没有安装Xcode。

3 个答案:

答案 0 :(得分:6)

你可以考虑我的解决方案:     打开XCode(如果没有安装,请安装一个。),然后按“COMMAND +”。     单击“下载”。找到“命令行工具”,下载并安装它。然后重启你的mac,完成!

希望你能以同样的方式解决它。

答案 1 :(得分:2)

看起来/usr/local/git/bin/git已使用错误的-mmacosx-version-min值进行编译。你没有提到它是如何到达那里的,所以我无法沿着这条道路前进。

我建议安装macports并简单地执行:

$ sudo port install git-core git-extras

答案 2 :(得分:-1)

运行此命令后,我也遇到了同样的错误:

$ git clone https://bitbucket.org/name/testproject.git

我尝试了PATH技巧(没有帮助)。我对安装Xcode以及其他人建议的“命令行工具”并不感兴趣。但我偶然发现了半个答案。

首先,我卸载了当前版本的Git(1.9.2)。然后我发现可以自己安装命令行工具,而无需安装Xcode:

Xcode page:  https://developer.apple.com/xcode/
Downloads near the top
Scroll down to 'Additional Tools'->'View Downloads'
Command Line Tools (OS X Mountain Lion)

安装完成后,执行'git --version'会返回:

git version 1.8.5.2 (Apple Git-48)

在此过程中,文件“/usr/lib/libSystem.B.dylib”未受影响。或者至少,文件大小和日期没有改变。由于该库没有改变,我猜测它不是Xcode修复的东西,而是安装的Git版本。

我考虑过测试该理论并找到各种版本的Git的旧源代码,但没有时间花费编译/安装/测试每一个来查看这个理论是否正确。我没有看到卸载'命令行工具'的简单方法。也许其他人更加强悍。 :)

- J