Вопрос или проблема
Я новичок в *nix
и brew
.
Я пытался установить много вещей с помощью Homebrew, но он постоянно говорит:
configure: error: *** Working zlib library and headers not found ***
Затем я попытался установить zlib
снова, но он сказал:
Warning: zlib-1.2.8 already installed
Вот ссылка на лог с brew --config
и echo $PATH
.
https://gist.github.com/bearzk/7491631
ОБНОВЛЕНИЕ:
Я пытался переустановить zlib
и другие упомянутые в выводе вещи, но, к сожалению, ничего не изменилось.
Я действительно не знаю, что все это значит… не уверен, стоит ли удалять или сохранять 🙁
Кто-нибудь знает, как мне это решить?
Любая помощь будет очень признательна!
Попробовал отредактировать пост с обновлением, добавив содержимое из config.log
, он сказал, что у меня меньше 10 репутации, чтобы опубликовать более 2 ссылок, поэтому я разместил это здесь:
https://gist.github.com/bearzk/7493781
Вот содержимое config.log
из ~/Library/Logs/Homebrew/glib
Причина проблемы, которую я имел с homebrew, заключается в том, что у меня были установлены некоторые 32-битные библиотеки на 64-битной системе, если у вас подобная проблема, не забудьте проверить это направление тоже.
Решение — переместить все упомянутые файлы в другое место и выполнить brew prune
, чтобы удалить ненужные файлы, в моем случае также были некоторые конфликты ссылок с glib
, поэтому я сделал brew link --overwrite glib
, чтобы принудительно выполнить ссылку.
Теперь homebrew говорит, что все обновлено и готово к работе 🙂
Ответ или решение
Когда возникает проблема с установкой библиотек через Homebrew и появляется ошибка типа "configure: error: Working zlib library and headers not found ", важно тщательно разобраться в возможных причинах и решить её методично.
Причины проблемы
-
Неправильные ссылки: Часто проблема заключается в неправильно настроенных ссылках. Homebrew может не видеть установленные библиотеки из-за проблем с символьными ссылками.
-
Несоответствие архитектуры: Если ваш Mac OS работает в 64-битном режиме, наличие 32-битных библиотек может вызвать конфликты.
-
Проблемы с путями: Переменная окружения
$PATH
может быть настроена неправильно, что мешает компилятору находить нужные файлы.
Решение проблемы
-
Проверьте наличие zlib: Убедитесь, что
zlib
установлен корректно. Выполните командуbrew list zlib
, чтобы убедиться в его наличии. -
Исправление ссылок:
- Выполните команду
brew link zlib
, чтобы убедиться в правильности символических ссылок. - Если есть конфликты, попробуйте использовать
brew link --overwrite zlib
.
- Выполните команду
-
Обновление и очистка:
- Используйте
brew update
для обновления Homebrew. - Выполните
brew prune
, чтобы очистить ненужные файлы и освободить место.
- Используйте
-
Проверка конфигурации системы:
- Убедитесь, что
$PATH
содержит все необходимые директории для компиляции, такие как/usr/local/bin
. - Просмотрите содержимое
config.log
для выявления конкретных ошибок компиляции или конфигурации.
- Убедитесь, что
-
Проверка архитектуры:
- У вас могут быть установлены 32-битные библиотеки в 64-битной системе, как это было выяснено вами.
- Проверьте и, при необходимости, удалите 32-битные библиотеки, которые могут мешать компиляции.
-
Повторная установка:
- Если все вышеуказанные действия не помогли, попробуйте полностью удалить и заново установить
zlib
с помощью следующих команд:brew uninstall zlib brew install zlib
- Если все вышеуказанные действия не помогли, попробуйте полностью удалить и заново установить
Заключение
Проблемы с установкой библиотек через Homebrew часто связаны с конфигурацией системы и наличием конфликтов между версиями библиотек. Всегда важно внимательно исследовать возникающие ошибки и лог-файлы, чтобы найти и устранить первопричину. При возникновении ошибок подобного рода полезно также искать решение в официальной документации и форумах, так как пользователи часто делятся схожими проблемами и их решениями.