Como instalar libssl-dev, libffi-dev no Mac os?

18

Eu posso instalar libssl-deve libffi-devno Ubuntu com o comando apt-get install libssl-dev libffi-dev, mas não consigo instalar no Mac; Eu tentei usar o comando: brew install libssl-dev libffimas não está funcionando para mim.

O que preciso fazer para instalar o homebrew?

Jackie
fonte
brew install libffi stackoverflow.com/a/44707470/32453
rogerdpack

Respostas:

18

Esses pacotes específicos não existem sob esses nomes no MacPorts e no Homebrew - daí os erros que você está recebendo. Para instalar esses pacotes específicos no OS X, você desejará usar openssl. O seguinte comando deve ajudá-lo:

brew install openssl

Se você já opensslinstalou, tente executar o seguinte para repará-lo - alguns usuários no Stack Overflow relataram isso como uma correção ao tentar fazer o Django funcionar.

brew unlink openssl && brew link openssl --force
Simon Sheehan
fonte
Como você faz isso sem fermentação e sem sudo?
21417 Tommy.carstensen
2
opensslnão é o mesmo que libssl-dev. O primeiro é para uso direto, o segundo é para vinculação. UPD: ok, para mac eles são empacotados em um pacote, mas você precisa executarexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar
9

Eu estava tentando tirar Crystal do chão no MacOS Mojave e tive um problema semelhante.

Esta é a mensagem de erro que eu estava vendo:

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`

Pesquisando / usr / local / lib , notei que não havia menção ao libssl.

Então, adicionei um link simbólico e isso pareceu corrigi-lo.

ln -s /usr/local/Cellar/openssl/1.0.2p/lib/libssl.dylib /usr/local/lib/

Nota: A versão atual do openssl que o brew drop é 1.0.2p, sua versão pode ser diferente.

kroolk
fonte
7
Problema semelhante, com cristal também. Eu era capaz de export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/obtê-lo correndo por aqui: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey
1

openssljá estava instalado, mas não consegui compilar psycopg2porque estava reclamando de falta -lssl. Eu segui os passos de Simon Sheehan, mas ainda não estava disponível.

Mas olhando a mensagem após a vinculação forçada do 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"

Então eu fiz o que diz. Eu adicionei essas duas linhas no meu ~/.bashrc. E psycopg2construído sem erros desta vez.

Aline
fonte