Wie installiere ich libssl-dev, libffi-dev auf einem Mac?

18

Ich kann libssl-devund libffi-devunter Ubuntu mit dem Befehl apt-get install libssl-dev libffi-devinstallieren, aber ich kann nicht auf Mac installieren; Ich habe versucht, den Befehl zu verwenden: brew install libssl-dev libffiaber nicht für mich zu arbeiten.

Was muss ich tun, damit Homebrew dies installiert?

Jackie
quelle
brew install libffi stackoverflow.com/a/44707470/32453
Rogerdpack

Antworten:

18

Diese speziellen Pakete existieren nicht unter diesen Namen auf MacPorts und Homebrew - daher die Fehler, die Sie erhalten. Um diese speziellen Pakete unter OS X zu installieren, sollten Sie verwenden openssl. Der folgende Befehl soll Ihnen helfen:

brew install openssl

Wenn Sie bereits opensslinstalliert haben, führen Sie die folgenden Schritte aus, um das Problem zu beheben. Einige Benutzer von Stack Overflow haben dies als Fehlerbehebung gemeldet, als sie versuchten, Django zum Laufen zu bringen.

brew unlink openssl && brew link openssl --force
Simon Sheehan
quelle
Wie macht man das ohne Gebräu und ohne Sudo?
Tommy.carstensen
2
opensslist nicht dasselbe wie libssl-dev. Der erste dient zur direkten Verwendung, der zweite zum Verknüpfen. UPD: ok, für Mac sind sie in einem Paket gebündelt, aber Sie müssen ausführenexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar
10

Ich habe versucht, Crystal unter MacOS Mojave in Betrieb zu nehmen, und bin auf ein ähnliches Problem gestoßen.

Dies ist die Fehlermeldung, die ich gesehen habe:

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`

Suche in / usr / local / lib Ich habe festgestellt, dass libssl nicht erwähnt wurde.

Also habe ich einen Symlink hinzugefügt und das schien das Problem zu beheben.

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

Hinweis: Die aktuelle Version von openssl, die gebraut wird, ist 1.0.2p. Ihre Version kann anders sein.

Kroolk
quelle
7
Ähnliches Problem gilt auch für Kristall. Ich konnte export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/es hier zum Laufen bringen: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey
2

opensslwurde bereits installiert, aber ich konnte nicht bauen, psycopg2weil es sich über fehlende beschwerte -lssl. Ich habe die Schritte von Simon Sheehan befolgt, aber es war immer noch nicht verfügbar.

Aber wenn Sie sich die Nachricht nach dem Erzwingen der Verknüpfung ansehen, öffnen Sie:

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"

Also habe ich getan, was es sagt. Ich habe diese beiden Zeilen in meine hinzugefügt ~/.bashrc. Und psycopg2diesmal fehlerfrei gebaut.

Eine Linie
quelle