Comandi Git che non funzionano nel terminale Mac: errore “dyld: Symbol not found: ___strlcpy_chk”

Sto usando il comando git clone ssh: // …. e ottenendo il seguente errore sul terminale:

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 

Avevo bisogno di installare strumenti da riga di comando da Xcode. Fare così-

  1. Apri Xcode e premi Cmd + ,
  2. Fai clic su Download
  3. Installa strumenti da riga di comando.

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

Aveva lo stesso problema. Ho OS X 10.8, quindi XCode non era una soluzione per me.

Risulta che ho avuto una versione Git che non è compatibile con la mia versione di OS X.

Questa informazione potrebbe aiutare (trovato googling :)):

Se stai correndo:

  • 10.6 Snow Leopard: git-2.2.1-intel-universal-snow-leopard
  • 10.7 Lion: git-2.2.1-intel-universal-snow-leopard
  • 10.8 Mountain Lion: git-2.2.1-intel-universal-snow-leopard
  • 10.9 Mavericks: git-2.2.1-intel-universal-mavericks
  • 10.10 Yosemite: git-2.2.1-intel-universal-mavericks

Puoi scaricare da qui: http://sourceforge.net/projects/git-osx-installer/files/

Stavo anche avendo problemi con lo stesso errore. Ho provato i trucchi PATH e .bash_profile (non ha aiutato). Non ero davvero interessato a installare Xcode e quindi gli “Strumenti a riga di comando” come altri avevano suggerito. Ma ho inciampato su una mezza risposta.

Per prima cosa ho disinstallato la mia versione corrente di Git (1.9.2). Ho poi scoperto che è ansible installare gli strumenti della riga di comando da soli, senza installare 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) 

Con quelli installati, facendo ‘git –version’ ha restituito questo:

 git version 1.8.5.2 (Apple Git-48) 

Il file “/usr/lib/libSystem.B.dylib” non è stato modificato durante questo processo. O almeno, le dimensioni e la data del file non sono cambiate. Dal momento che quella libreria non è cambiata, direi che non è Xcode che sta sistemando le cose, ma la versione di Git che è installata.

Ho pensato di testare quella teoria e ho trovato il vecchio codice sorgente per varie versioni di Git, ma non ho avuto il tempo di spendere la compilazione / l’installazione / test di ognuno per vedere se questa teoria è corretta. E non ho visto un semplice metodo per disinstallare gli ‘strumenti da riga di comando’. Forse qualcun altro è più intrepido. 🙂

– J

Si può anche guardare https://stackoverflow.com/a/19457333/894120 e semplicemente creare un profilo .bash, che ha funzionato per me.

Il problema è che i manutentori di git supportano solo MaxOS10.9 (mavericks). Se hai una versione precedente, non puoi usare la loro distribuzione.

Consigliato da qualcun altro al lavoro – utilizzare (a casa) birra . Fondamentalmente con brew installato puoi semplicemente usare:

 brew install git 

e ti darà una versione aggiornata. Successivamente per ottenere una nuova versione utilizzare:

 brew upgrade git 

Ora brew stesso usa git, quindi potrebbe essere che questa installazione sia ricorsiva – ho dovuto installarla di recente per un altro scopo e mi ci sono volute diverse ore – ma una volta che ce l’hai, le cose dovrebbero andare bene. Tutto quello che posso dire è che quando ho installato brew in origine, “git” si riferiva ancora alla versione Apple 1.8.x, e con questa modifica ora sto ottenendo git v2.1.0.

Ero anche tormentato da git che causava il temuto:

 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 

Dopo aver letto molti suggerimenti eseguiti con successo ruotando attorno all’aggiornamento di xCode (> 2G) o solo alla parte di Command Line Tools xCode (~ 200M) ho installato gli strumenti della riga di comando e questo ha risolto il problema durante l’utilizzo di git dalla riga di comando.

È interessante notare che stavo avendo problemi con PyCharm a ottenere lo stesso errore, anche dopo aver effettuato l’aggiornamento. Sono stato in grado di risolvere questo problema cambiando il percorso in cui è stato trovato git (in PyCharm-> Preferences …-> Version Control-> Git, ho cambiato / usr / local / bin / git su / usr / bin / git vicino al superiore):

Immagine di PyCharm-> Preferenze …-> Controllo versione-> Git

Alla fine ho capito esattamente cosa sta succedendo e per rendere omaggio a tutto l’aiuto che ho ricevuto dal web, voglio condividere le specifiche:

Ho scoperto che c’erano due versioni di git installate sulla mia macchina:

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

Alcuni suggerimenti per mettere / usr / bin nel percorso sono un po ‘utili, ma potrebbero non risolvere il problema di non aver installato una versione di git che non funziona.

Quindi, nota questo:

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

E:

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

La versione git di Apple è quella che funziona – questa è probabilmente installata installando gli strumenti della riga di comando da xCode. Annota i percorsi in ciascuno. Si noti inoltre che non è necessario installare tutti gli strumenti della riga di comando, ma solo una versione corretta di git.

Inoltre, nella directory / usr / local / git / bin /, c’è uno script uninstall.sh. In quello script, usa pkgutil per disinstallare la versione di git. (È necessario utilizzare questo script per eseguire la disinstallazione.) È ansible eseguire questa riga per verificare che questa utilità abbia record di installazione di git:

 pkgutil --packages | grep com.git.pkg 

Questa non è la versione che desideri. Vuoi la versione di Apple. Utilizzare lo script in / usr / local / git / bin per disinstallare la versione non funzionante di git.

Disinstallarlo assicura che non si otterrà mai questo errore e che si utilizzerà la versione corretta di git.

Spero che aiuti altri. Le informazioni erano buone ma incomplete. E non c’era quasi nulla per PyCharm.