Git + горный лев + dyld: неудачная ленивая привязка символов: Символ не найден: ___strlcpy_chk
- os: mac os 10.8.3
- xcode: установлены инструменты командной строки 4.6.3 w
- /usr/local/bin/git → /usr/local/git/bin/git
любые идеи, как исправить?
(темы обсуждения, которые я смог найти на упомянутой теме: a) установка инструментов командной строки и b) обеспечение того, чтобы /usr/local/bin был включен в PATH, оба из которых я, кажется, сделал здесь.)
благодарим вас заранее.
git init
dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
Referenced from: /usr/local/bin/git
Expected in: /usr/lib/libSystem.B.dylib
Ответы
Ответ 1
Я столкнулся с этой проблемой, потому что я установил git-2.2.1-intel-universal-mavericks.dmg
, на самом деле mavericks(10.9.x)
- последняя версия, чем mountain lion(10.8.x)
, а snow-leopard раньше, чем горный лев, после того, как я установил git-2.2.1-intel-universal-snow-leopard
, эта проблема исчезла.
Ответ 2
У меня была одна и та же проблема, и именно так я ее исправил,
Следуя этой статье, установить инструменты командной строки для xCode (я получил xCode 5.1).
Затем также отредактировал мой .bash_profile
$vi ~/.bash_profile
export PATH=$PATH:/usr/local/git/bin/
Даже после выполнения этих двух вещей, я получал ту же ошибку с командной строкой git. Но потом у меня был Restart мой компьютер, чтобы он работал.
Надеюсь, это поможет.
Ответ 3
Oana, У меня также были проблемы с тем же сообщением об ошибке, которое вы цитировали. Я попробовал трюк PATH (не помог). Меня не интересовали установка Xcode, а затем "Инструменты командной строки", как предлагали другие. Но я наткнулся на половину ответа.
Во-первых, я удалил свою текущую версию Git (1.9.2). Затем я обнаружил, что можно самостоятельно установить Инструменты командной строки без установки Xcode:
Страница Xcode: https://developer.apple.com/xcode/ →
Загрузка в верхней части →
Прокрутите вниз до "Дополнительные инструменты" → "
Просмотр загрузок '- > Инструменты командной строки (OS X Mountain Lion)
С установленными, "git --version" вернул это:
git version 1.8.5.2 (Apple Git-48)
В этом процессе файл "/usr/lib/libSystem.B.dylib" не был затронут. Или, по крайней мере, размер и дата файла не изменились.
Я полагаю, что проблема была создана в более поздней версии git, которая проверяет соответствующий символ, в то время как более старые версии не проверяют его. Я подумал о тестировании этой теории и нашел более старый исходный код для различных версий git, но не успел потратить на компиляцию/установку/тестирование каждого, чтобы убедиться, что эта теория верна. И я не видел простого метода удаления "инструментов командной строки". Может быть, кто-то еще более бесстрашный.:)
- J
Ответ 4
Если вы используете SourceTree, он поставляется со своей версией git, и вышеупомянутые решения не будут работать. Вы должны перейти в Настройки > Git и изменить настройку с Embedded git
на System git
(Я боролся с этим примерно за день до того, как понял это, надеюсь, это сэкономит кому-то неприятность)