Come installare libssl-dev, libffi-dev su Mac os?


18

Posso installare libssl-deve libffi-devsu Ubuntu con il comando apt-get install libssl-dev libffi-dev, ma non posso installare su Mac; Ho provato a usare il comando: brew install libssl-dev libffima non funziona per me.

Cosa devo fare per ottenere homebrew per installare questo?


Risposte:


18

Quei pacchetti particolari non esistono sotto quei nomi su MacPorts e Homebrew - quindi gli errori che stai ricevendo. Per installare questi pacchetti particolari su OS X, ti consigliamo di utilizzare openssl. Il seguente comando dovrebbe aiutarti:

brew install openssl

Se hai già opensslinstallato, prova a eseguire quanto segue per ripararlo: alcuni utenti su Stack Overflow lo hanno segnalato come una correzione quando cercavano di far funzionare Django.

brew unlink openssl && brew link openssl --force

Come si fa senza birra e senza sudo?
tommy.carstensen,

2
opensslnon è lo stesso di libssl-dev. Il primo è per uso diretto, il secondo è per il collegamento. UPD: ok, per Mac sono raggruppati in un unico pacchetto, ma è necessario eseguireexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar

9

Stavo cercando di far decollare Crystal su MacOS Mojave e ho riscontrato un problema simile.

Questo è il messaggio di errore che stavo vedendo:

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`

Cercando / usr / local / lib ho notato che non si parlava di libssl.

Quindi ho aggiunto un link simbolico e questo sembrava risolverlo.

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

Nota: la versione corrente di openssl che brew drops è 1.0.2p, la tua versione potrebbe essere diversa.


7
Problema simile, anche con il cristallo. Sono stato in grado di export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/farlo funzionare qui: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey

1

opensslera già installato, ma non ho potuto costruirlo psycopg2perché si lamentava della scomparsa -lssl. Ho seguito i passaggi di Simon Sheehan ma non era ancora disponibile.

Ma guardando il messaggio dopo il collegamento forzato si apre:

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

Quindi ho fatto quello che dice. Ho aggiunto quelle due righe al mio ~/.bashrc. E psycopg2costruito senza errori questa volta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.