Я могу установить libssl-dev
и libffi-dev
на Ubuntu с помощью команды apt-get install libssl-dev libffi-dev
, но не могу установить на Mac; я пробовал использовать команду:, brew install libssl-dev libffi
но у меня это не работает.
Что мне нужно сделать, чтобы Homebrew установил это?
решение1
Эти конкретные пакеты не существуют под этими именами ни на MacPorts, ни на Homebrew — отсюда и ошибки, которые вы получаете. Чтобы установить эти конкретные пакеты на OS X, вам нужно будет использовать openssl
. Следующая команда должна вам помочь:
brew install openssl
Если вы уже openssl
установили его, попробуйте выполнить следующее, чтобы восстановить его:некоторые пользователи на Stack Overflowсообщил об этом как об исправлении при попытке заставить работать Django.
brew unlink openssl && brew link openssl --force
решение2
Я пытался получитьКристаллс нуля на MacOS Mojave и столкнулся с похожей проблемой.
Вот сообщение об ошибке, которое я увидел:
Error: execution of command failed with code: 1: `cc "${@}" -o '/Users/mymbp/.cache/crystal/crystal-run-server.tmp' -rdynamic
`command -v pkg-config > /dev/null && pkg-config --libs --silence-errors libssl || printf %s '-lssl -lcrypto'` `command -v pkg-config > /dev/null && pkg-config --libs
--silence-errors libcrypto || printf %s '-lcrypto'` -lz -lpcre -lgc -lpthread
/usr/local/Cellar/crystal/0.27.0/src/ext/libcrystal.a -levent -liconv -ldl -
L/usr/lib -L/usr/local/lib`
Идет поиск/usr/local/libЯ заметил, что не было упоминания о libssl.
Поэтому я добавил символическую ссылку, и это, похоже, исправило ситуацию.
ln -s /usr/local/Cellar/openssl/1.0.2p/lib/libssl.dylib /usr/local/lib/
Примечание: Текущая версия openssl, которую выпускает brew, — 1.0.2p, ваша версия может отличаться.
решение3
openssl
уже был установлен, но я не мог собрать, psycopg2
потому что он жаловался на отсутствие -lssl
. Я следовал шагам изСаймон Шиханно он все еще не был доступен.
Но взгляните на сообщение после принудительного связывания openssl:
For compilers to find [email protected] you may need to set:
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
Итак, я сделал то, что там написано. Я добавил эти две строки в свой ~/.bashrc
. И psycopg2
на этот раз сборка прошла без ошибок.
решение4
Для Macports установите sudo port install openssl
и настройте переменные среды, как указано ниже.
export LDFLAGS="-L/opt/local/lib"
export CPPFLAGS="-I/opt/local/include/openssl"
Я узнал об этих местах через командуport contents openssl | grep -v "man"