Не удается найти zlib при установке других библиотек с использованием brew

Вопрос или проблема

Я новичок в *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 ", важно тщательно разобраться в возможных причинах и решить её методично.

Причины проблемы

  1. Неправильные ссылки: Часто проблема заключается в неправильно настроенных ссылках. Homebrew может не видеть установленные библиотеки из-за проблем с символьными ссылками.

  2. Несоответствие архитектуры: Если ваш Mac OS работает в 64-битном режиме, наличие 32-битных библиотек может вызвать конфликты.

  3. Проблемы с путями: Переменная окружения $PATH может быть настроена неправильно, что мешает компилятору находить нужные файлы.

Решение проблемы

  1. Проверьте наличие zlib: Убедитесь, что zlib установлен корректно. Выполните команду brew list zlib, чтобы убедиться в его наличии.

  2. Исправление ссылок:

    • Выполните команду brew link zlib, чтобы убедиться в правильности символических ссылок.
    • Если есть конфликты, попробуйте использовать brew link --overwrite zlib.
  3. Обновление и очистка:

    • Используйте brew update для обновления Homebrew.
    • Выполните brew prune, чтобы очистить ненужные файлы и освободить место.
  4. Проверка конфигурации системы:

    • Убедитесь, что $PATH содержит все необходимые директории для компиляции, такие как /usr/local/bin.
    • Просмотрите содержимое config.log для выявления конкретных ошибок компиляции или конфигурации.
  5. Проверка архитектуры:

    • У вас могут быть установлены 32-битные библиотеки в 64-битной системе, как это было выяснено вами.
    • Проверьте и, при необходимости, удалите 32-битные библиотеки, которые могут мешать компиляции.
  6. Повторная установка:

    • Если все вышеуказанные действия не помогли, попробуйте полностью удалить и заново установить zlib с помощью следующих команд:
      brew uninstall zlib
      brew install zlib

Заключение

Проблемы с установкой библиотек через Homebrew часто связаны с конфигурацией системы и наличием конфликтов между версиями библиотек. Всегда важно внимательно исследовать возникающие ошибки и лог-файлы, чтобы найти и устранить первопричину. При возникновении ошибок подобного рода полезно также искать решение в официальной документации и форумах, так как пользователи часто делятся схожими проблемами и их решениями.

Оцените материал
Добавить комментарий

Капча загружается...