Comment installer libssl-dev, libffi-dev sur Mac OS?


18

Je peux installer libssl-devet libffi-devsur Ubuntu avec la commande apt-get install libssl-dev libffi-dev, mais je ne peux pas installer sur Mac; J'ai essayé d'utiliser la commande: brew install libssl-dev libffimais ne fonctionne pas pour moi.

Que dois-je faire pour que Homebrew l'installe?


Réponses:


18

Ces packages particuliers n'existent pas sous ces noms sur MacPorts et Homebrew - d'où les erreurs que vous recevez. Afin d'installer ces packages particuliers sur OS X, vous voudrez utiliser openssl. La commande suivante devrait vous aider:

brew install openssl

Si vous avez déjà opensslinstallé, essayez d'exécuter ce qui suit afin de le réparer - certains utilisateurs de Stack Overflow ont signalé cela comme un correctif lorsqu'ils essayaient de faire fonctionner Django.

brew unlink openssl && brew link openssl --force

Comment faites-vous sans infusion et sans sudo?
tommy.carstensen

2
openssln'est pas le même que libssl-dev. Le premier est pour une utilisation directe, le second est pour la liaison. UPD: ok, pour mac, ils sont regroupés dans un seul paquet, mais vous devez exécuterexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar

9

J'essayais de faire décoller Crystal sur MacOS Mojave et j'ai rencontré un problème similaire.

Voici le message d'erreur que je voyais:

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`

Recherche dans / usr / local / lib J'ai remarqué qu'il n'y avait aucune mention de libssl.

J'ai donc ajouté un lien symbolique et cela a semblé le corriger.

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

Remarque: La version actuelle de openssl que brew drops est 1.0.2p, votre version peut être différente.


7
Problème similaire, avec du cristal également. J'ai pu le export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/faire fonctionner ici: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey

1

opensslétait déjà installé, mais je n'ai pas pu le construire psycopg2car il se plaignait de sa disparition -lssl. J'ai suivi les étapes de Simon Sheehan mais il n'était toujours pas disponible.

Mais en regardant le message après la liaison forcée openssl:

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"

J'ai donc fait ce que cela dit. J'ai ajouté ces deux lignes dans mon ~/.bashrc. Et psycopg2construit sans erreurs cette fois.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.