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

(Я боролся с этим примерно за день до того, как понял это, надеюсь, это сэкономит кому-то неприятность)