macos - portable - Los comandos de Git no funcionan en el terminal Mac: error "dyld: Símbolo no encontrado:___strlcpy_chk"
install git windows (6)
Estoy usando el comando git clone ssh: // .... y obtengo el siguiente error en la 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
También estaba teniendo problemas con el mismo error. Probé los trucos PATH y .bash_profile (no sirvió de nada). No estaba realmente interesado en instalar Xcode y luego en las "Herramientas de línea de comando" como otros habían sugerido. Pero tropecé con media respuesta.
Primero, desinstalé mi versión actual de Git (1.9.2). Luego descubrí que es posible instalar las herramientas de línea de comandos por sí mismas, sin instalar 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 los instalados, al hacer ''git --version'' devolvió esto:
git version 1.8.5.2 (Apple Git-48)
El archivo "/usr/lib/libSystem.B.dylib" no se modificó durante este proceso. O al menos, el tamaño y la fecha del archivo no cambiaron. Como esa biblioteca no cambió, supongo que no es Xcode la que está arreglando cosas, sino la versión de Git que está instalada.
Pensé en probar esa teoría y encontré el código fuente anterior para varias versiones de Git, pero no tuve tiempo para gastar en compilar / instalar / probar cada una para ver si esta teoría es correcta. Y no vi un método simple para desinstalar las ''herramientas de línea de comando''. Tal vez alguien más sea más intrépido. :)
- J
El problema es que los mantenedores de git solo admiten MaxOS10.9 (inconformistas). Si tiene una versión anterior, no puede usar su distribución.
Recomendado por otra persona en el trabajo: use brebaje (casero) . Básicamente con brew instalado puedes simplemente usar:
brew install git
y te dará una versión actualizada. Posteriormente para obtener una nueva versión, use:
brew upgrade git
Ahora brew usa git, por lo que podría ser que esta instalación sea recursiva; tuve que instalarla recientemente para otro propósito y me tomó varias horas, pero una vez que la tenga allí, todo debería estar bien. Todo lo que puedo decir es que cuando instalé brew originalmente, "git" todavía se refería a la versión 1.8.x de Apple, y con este cambio ahora estoy obteniendo git v2.1.0.
Necesitaba instalar herramientas de línea de comandos de Xcode. Para hacerlo-
- Abre Xcode y
Cmd
+,
- Haz clic en Descargas
- Instale herramientas de línea de comando.
Tenía el mismo problema. Tengo OS X 10.8, por lo que XCode no fue una solución para mí.
Resulta que tenía una versión de Git que no es compatible con mi versión de OS X.
Esta información podría ayudar (lo encontré en Google :)):
Si está ejecutando:
- 10.6 Snow Leopard: git-2.2.1-intel-universal-nieve-leopardo
- 10.7 León: git-2.2.1-intel-universal-nieve-leopardo
- 10.8 Mountain Lion: git-2.2.1-intel-universal-nieve-leopardo
- 10.9 Mavericks: git-2.2.1-intel-universal-mavericks
- 10.10 Yosemite: git-2.2.1-intel-universal-mavericks
Puede descargar desde aquí: http://sourceforge.net/projects/git-osx-installer/files/
También estaba plagado de git que causaba lo temido:
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
Después de leer muchas sugerencias ejecutadas con éxito girando en torno a actualizar xCode (> 2G) o solo la parte de Herramientas de línea de comandos de xCode (~ 200M) instalé las herramientas de línea de comandos y esto solucionó mi problema al usar git desde la línea de comandos.
Curiosamente, estaba teniendo problemas con PyCharm al obtener el mismo error, incluso después de que hice la actualización. Pude arreglar esto cambiando la ruta donde se encontró git (En PyCharm-> Preferencias ...-> Control de versiones-> Git, cambié / usr / local / bin / git a / usr / bin / git cerca del parte superior):
Imagen de PyCharm-> Preferencias ...-> Versión Control-> Git
Finalmente descubrí exactamente lo que está sucediendo, y para rendir homenaje a toda la ayuda que recibí de la web, quiero compartir los detalles:
Descubrí que había dos versiones de git instaladas en mi máquina:
/usr/bin/git
/usr/local/git/bin/git
(also interestingly: /usr/local/bin/git -> ../git/bin/git)
Algunas sugerencias para poner / usr / bin en la ruta son de alguna ayuda, pero es posible que no resuelvan el inconveniente de que hay una versión de git instalada que no funciona.
Así que ten en cuenta esto:
$ pwd
/usr/local/git/bin
$./git --version
git version 2.8.1
Y:
$ pwd
/usr/bin
$ ./git --version
git version 1.8.5.2 (Apple Git-48)
La versión de Apple git es la que funciona: esta es probablemente la que se instala instalando las herramientas de línea de comandos de xCode. Tenga en cuenta los caminos en cada uno. También tenga en cuenta que no necesariamente tiene que instalar todas las herramientas de línea de comandos, solo una versión adecuada de git.
Además, en el directorio / usr / local / git / bin /, hay un script uninstall.sh. En ese script, usa pkgutil para desinstalar la versión de git. (Debe usar esta secuencia de comandos para realizar la desinstalación). Puede ejecutar esta línea para verificar que esta utilidad tenga registro de la instalación de git:
pkgutil --packages | grep com.git.pkg
Esta no es la versión que quieres. Quieres la versión de Apple. Use la secuencia de comandos en / usr / local / git / bin para desinstalar la versión defectuosa de git.
Desinstalarlo le asegura que nunca obtendrá este error y que utilizará la versión adecuada de git.
Espero que ayude a otros. La información era buena pero incompleta. Y no había casi nada para PyCharm.
También se puede ver https://.com/a/19457333/894120 y simplemente crear un .bash_profile, que funcionó para mí.