web-dev-qa-db-de.com

Git-Befehle funktionieren im Mac-Terminal nicht: "dyld: Symbol nicht gefunden: ___strlcpy_chk" -Fehler

Ich verwende den Befehl git clone ssh: // .... und erhalte den folgenden Fehler auf dem Terminal:

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

Ich musste Kommandozeilen-Tools von Xcode installieren. Um dies zu tun-

  1. Öffne Xcode und drücke Cmd + ,
  2. Klicken Sie auf Downloads
  3. Installieren Sie die Befehlszeilentools.

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

34
KateMak

Hatte das selbe Problem. Ich habe OS X 10.8, also war XCode keine Lösung für mich.

Es stellte sich heraus, dass ich eine Git-Version hatte, die nicht mit meiner OS X-Version kompatibel ist

Diese Information könnte helfen (fand es googeln :)):

Wenn du rennst:

  • 10.6 Schneeleopard: Git-2.2.1-Intel-Universal-Schneeleopard
  • 10.7 Löwe: Git-2.2.1-Intel-Universal-Schneeleopard
  • 10.8 Berglöwe: Git-2.2.1-Intel-Universal-Schneeleopard
  • 10.9 Außenseiter: Git-2.2.1-Intel-Universal-Außenseiter
  • 10.10 Yosemite: Git-2.2.1-Intel-Universal-Mavericks

Sie können von hier herunterladen: http://sourceforge.net/projects/git-osx-installer/files/

22
Dana

Ich hatte auch Probleme mit dem gleichen Fehler. Ich habe die Tricks PATH und .bash_profile ausprobiert (hat nicht geholfen). Ich war nicht wirklich daran interessiert, Xcode und dann die 'Command Line Tools' zu installieren, wie andere vorgeschlagen hatten. Aber ich bin über eine halbe Antwort gestolpert.

Zuerst habe ich meine aktuelle Version von Git (1.9.2) deinstalliert. Dann stellte ich fest, dass es möglich ist, die Befehlszeilentools selbst zu installieren, ohne Xcode zu installieren:

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)

Wenn diese installiert sind, ergab das Ausführen von 'git --version' Folgendes:

git version 1.8.5.2 (Apple Git-48)

Die Datei "/usr/lib/libSystem.B.dylib" blieb dabei unberührt. Oder zumindest die Dateigröße und das Datum haben sich nicht geändert. Da sich diese Bibliothek nicht geändert hat, würde ich vermuten, dass nicht Xcode das Problem behebt, sondern die Version von Git, die installiert ist.

Ich dachte darüber nach, diese Theorie zu testen und fand den älteren Quellcode für verschiedene Versionen von Git, hatte aber keine Zeit, jeden zu kompilieren, zu installieren oder zu testen, um zu prüfen, ob diese Theorie korrekt ist. Und ich habe keine einfache Methode zum Deinstallieren der Befehlszeilentools gefunden. Vielleicht ist jemand anderes unerschrockener. :)

- J

5
Cronk

Man kann sich auch https://stackoverflow.com/a/19457333/89412 ansehen und einfach ein .bash_profil erstellen, das bei mir funktioniert hat.

2
Base_v

Das Problem ist, dass die Git-Betreuer nur MaxOS10.9 (Einzelgänger) unterstützen. Wenn Sie eine frühere Version haben, können Sie deren Distribution nicht verwenden.

Empfohlen von jemand anderem bei der Arbeit - verwenden Sie (Heim-) Gebrä . Grundsätzlich können Sie bei installiertem Sud nur Folgendes verwenden:

brew install git

und es wird Ihnen eine aktuelle Version geben. Um eine neue Version zu erhalten, verwenden Sie:

brew upgrade git

Jetzt verwendet brew selbst git, so dass es sein kann, dass diese Installation rekursiv ist - ich musste sie kürzlich für einen anderen Zweck installieren und es dauerte mehrere Stunden - aber wenn Sie sie dort haben, sollten die Dinge in Ordnung sein. Alles, was ich sagen kann, ist, dass bei der ursprünglichen Installation von brew "git" immer noch auf die Version 1.8.x Apple) verwiesen hat. Mit dieser Änderung erhalte ich jetzt git v2.1.0.

1
johnfo

Ich wurde auch von Schwachkopf geplagt, der das gefürchtete verursachte:

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

Nachdem ich viele erfolgreich ausgeführte Vorschläge zum Aktualisieren von xCode (> 2G) oder nur des Befehlszeilentools-Teils von xCode (~ 200M) gelesen hatte, installierte ich die Befehlszeilentools und dies behebte mein Problem bei der Verwendung von Git über die Befehlszeile.

Interessanterweise hatte ich Probleme damit, dass PyCharm den gleichen Fehler erhielt, auch nachdem ich das Update durchgeführt hatte. Ich konnte dies beheben, indem ich den Pfad, in dem git gefunden wurde, änderte (In PyCharm-> Einstellungen ...-> Versionskontrolle-> Git änderte ich/usr/local/bin/git in/usr/bin/git in der Nähe von oben):

Bild von PyCharm-> Einstellungen ...-> Versionskontrolle-> Git

Endlich habe ich herausgefunden, was genau los ist - und um all die Hilfe zu würdigen, die ich aus dem Internet erhalten habe, möchte ich die Details mitteilen:

Ich habe festgestellt, dass auf meinem Computer zwei Versionen von git installiert sind:

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

Einige Vorschläge zum Einfügen von/usr/bin in den Pfad sind hilfreich, lösen jedoch möglicherweise nicht das Problem, dass eine Version von git installiert ist, die nicht funktioniert.

Beachten Sie also Folgendes:

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

Und:

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

Die Apple git-Version ist diejenige, die funktioniert - diese wird wahrscheinlich durch die Installation der Befehlszeilentools über xCode installiert. Notieren Sie die Pfade in den einzelnen. Beachten Sie auch, dass dies nicht unbedingt der Fall ist Um die gesamten Kommandozeilen-Tools zu installieren, genügt eine korrekte Version von git.

Außerdem befindet sich im Verzeichnis/usr/local/git/bin/ein Skript uninstall.sh. In diesem Skript wird pkgutil verwendet, um die Version von git zu deinstallieren. (Sie sollten dieses Skript verwenden, um die Deinstallation durchzuführen.) Sie können diese Zeile ausführen, um zu überprüfen, ob dieses Dienstprogramm Aufzeichnungen über die Installation von git enthält:

pkgutil --packages | grep com.git.pkg

Dies ist nicht die gewünschte Version. Sie möchten die Apple version. Verwenden Sie das Skript in/usr/local/git/bin, um die fehlerhafte Version von git zu deinstallieren.

Wenn Sie es deinstallieren, wird dieser Fehler niemals auftreten und Sie werden die richtige Version von git verwenden.

Hoffe das hilft einigen anderen. Die Infos waren gut aber unvollständig. Und für PyCharm gab es fast nichts.

1
Kiki Jewell