Как установить libssl-dev ,libffi-dev на Mac OS?

Как установить libssl-dev ,libffi-dev на Mac OS?

Я могу установить 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"

Связанный контент