web-dev-qa-db-ja.com

GitコマンドがMac端末で機能しない:「dyld:Symbol not found:___strlcpy_chk」エラー

コマンドgit clone ssh:// ....を使用し、ターミナルで次のエラーを取得しています:

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
31
KateMak

Xcodeからコマンドラインツールをインストールする必要がありました。そうするには-

  1. Xcodeを開き、Cmd + ,
  2. ダウンロードをクリック
  3. コマンドラインツールをインストールします。

http://www.hongkiat.com/blog/mountain-lion-git-fix/

34
KateMak

同じ問題がありました。私はOS X 10.8を持っているので、XCodeは私にとって解決策ではありませんでした。

OS Xバージョンと互換性のないGitバージョンがあったことが判明しました

この情報は役立つかもしれません(グーグルで見つけました:)):

実行している場合:

  • 10.6 Snow Leopard:git-2.2.1-intel-universal-snow-leopard
  • 10.7ライオン:git-2.2.1-intel-universal-snow-leopard
  • 10.8マウンテンライオン:git-2.2.1-intel-universal-snow-leopard
  • 10.9 Mavericks:git-2.2.1-intel-universal-mavericks
  • 10.10ヨセミテ:git-2.2.1-intel-universal-mavericks

ここからダウンロードできます: http://sourceforge.net/projects/git-osx-installer/files/

22
Dana

私も同じエラーで問題を抱えていました。 PATHと.bash_profileのトリックを試しました(助けにはなりませんでした)。他の人が示唆したように、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

5
Cronk

https://stackoverflow.com/a/19457333/89412 を見て、.bash_profileを作成することもできます。

2
Base_v

問題は、gitメンテナーがMaxOS10.9(mavericks)のみをサポートしていることです。以前のバージョンを使用している場合、それらのディストリビューションを使用することはできません。

職場の他の誰かが推奨- (home)brew を使用します。基本的にbrewがインストールされている場合は、単に次を使用できます。

brew install git

最新バージョンが提供されます。続いて、新しいバージョンを使用するには:

brew upgrade git

Brew自体はgitを使用するため、このインストールは再帰的である可能性があります-別の目的で最近インストールする必要があり、数時間かかりましたが、一度インストールすると問題ないはずです。私が言えることは、最初にbrewをインストールしたとき、「git」はまだ1.8.x Appleバージョンを指していましたが、この変更によりgit v2.1.0になりました。

1
johnfo

また、私はgitに悩まされて、恐ろしいものを引き起こしました。

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

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

XCode(> 2G)またはxCodeのコマンドラインツール部分(〜200M)の更新を中心に実行された多くの成功した提案を読んだ後、コマンドラインツールをインストールし、コマンドラインからgitを使用するときの問題を修正しました。

興味深いことに、更新を行った後でも、PyCharmが同じエラーを取得するのに問題がありました。 gitが見つかったパスを変更することでこれを修正できました(PyCharm-> Preferences ...-> Version Control-> Gitで、/ usr/local/bin/gitを/ usr/bin/gitの近くで/ usr/bin/gitに変更しました上):

PyCharmのイメージ->設定...->バージョン管理-> Git

最後に、何が起こっているのかを正確に把握しました。ウェブから受け取ったすべての支援に敬意を表し、詳細を共有したいと思います。

私のマシンにはgitの2つのバージョンがインストールされていることがわかりました。

/usr/bin/git 
/usr/local/git/bin/git 
(also interestingly: /usr/local/bin/git -> ../git/bin/git)

/ usr/binをパスに配置するためのいくつかの提案は多少役立ちますが、機能しないgitのバージョンがインストールされているという厄介な問題を解決できない可能性があります。

これに注意してください:

$ pwd 
/usr/local/git/bin 
$./git --version 
git version 2.8.1

そして:

$ pwd 
/usr/bin 
$ ./git --version 
git version 1.8.5.2 (Apple Git-48)

Apple gitバージョンは動作します-これはxCodeからCommand Line Toolsをインストールすることによりインストールされる可能性が高いものです。それぞれのパスに注意してください。適切なバージョンのgitであるコマンドラインツール全体をインストールします。

さらに、/ usr/local/git/bin /ディレクトリには、uninstall.shスクリプトがあります。そのスクリプトでは、pkgutilを使用してgitのバージョンをアンインストールします。 (このスクリプトを使用してアンインストールを行う必要があります。)この行を実行して、このユーティリティにgitのインストールの記録があることを確認できます。

pkgutil --packages | grep com.git.pkg

これは、必要なバージョンではありません。 Appleバージョン。/usr/local/git/binのスクリプトを使用して、壊れたバージョンのgitをアンインストールします。

アンインストールすると、このエラーが発生することはなく、適切なバージョンのgitを使用することになります。

他の人にも役立つことを願っています。情報は良かったが不完全でした。そして、PyCharmにはほとんど何もありませんでした。

1
Kiki Jewell