Ответ 1
Мне нужно было установить инструменты командной строки из Xcode. Сделать это -
- Откройте Xcode и нажмите
Cmd
+,
- Нажмите "Загрузки"
- Установите инструменты командной строки.
Я использую команду 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
Мне нужно было установить инструменты командной строки из Xcode. Сделать это -
Cmd
+ ,
Была та же проблема. У меня OS X 10.8, поэтому XCode не был для меня решением.
Оказывается, у меня была версия Git, не совместимая с моей версией OS X
Эта информация может помочь (нашел это googling:)):
Если вы работаете:
Вы можете скачать здесь: http://sourceforge.net/projects/git-osx-installer/files/
У меня также были проблемы с той же ошибкой. Я попробовал трюки 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
Можно также посмотреть fooobar.com/questions/176203/... и просто создать файл .bash_profile, который сработал у меня.
Проблема заключается в том, что поддерживающие 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.
Я также страдал от 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 вверху):
Изображение PyCharm- > Настройки...- > Контроль версий → Git
Наконец-то я понял, что происходит, - и воздать должное всей помощи, которую я получил из Интернета, хочу поделиться спецификой:
Я обнаружил, что на моей машине установлены две версии git:
/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. Обратите внимание на пути в каждом. Также обратите внимание, что вам необязательно устанавливать все инструменты командной строки, только правильную версию git.
Далее, в каталоге /usr/local/ git/bin/theres uninstall.sh script. В этом script он использует pkgutil для удаления версии git. (Вы должны использовать этот script для удаления.) Вы можете запустить эту строку, чтобы убедиться, что эта утилита имеет запись об установке git:
pkgutil --packages | grep com.git.pkg
Это не та версия, которую вы хотите. Вы хотите версию Apple. Используйте script в каталоге /usr/local/ git/bin, чтобы удалить сломанную версию git.
Деинсталляция гарантирует, что вы никогда не получите эту ошибку, и что вы будете использовать правильную версию git.
Надеюсь, что это поможет другим. Информация была хорошей, но неполной. И для PyCharm почти ничего не было.