Odpowiedzi:
Te konkretne pakiety nie istnieją pod tymi nazwami zarówno na MacPorts, jak i Homebrew - stąd otrzymywane błędy. Aby zainstalować te konkretne pakiety w OS X, będziesz chciał użyć openssl
. Następujące polecenie powinno ci pomóc:
brew install openssl
Jeśli już openssl
zainstalowałeś, spróbuj wykonać następujące czynności, aby go naprawić - niektórzy użytkownicy na przepełnieniu stosu zgłosili to jako poprawkę podczas próby uruchomienia Django.
brew unlink openssl && brew link openssl --force
openssl
to nie to samo co libssl-dev
. Pierwszy służy do bezpośredniego użycia, drugi do łączenia. UPD: ok, dla komputerów Mac są one zawarte w jednym pakiecie, ale musisz uruchomićexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Próbowałem ściągnąć Crystal z ziemi na MacOS Mojave i napotkałem podobny problem.
Oto komunikat o błędzie, który widziałem:
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`
Szukając / usr / local / lib Zauważyłem, że nie ma wzmianki o libssl.
Więc dodałem dowiązanie symboliczne i to wydawało się naprawić.
ln -s /usr/local/Cellar/openssl/1.0.2p/lib/libssl.dylib /usr/local/lib/
Uwaga: aktualna wersja openssl, który warzy krople, to 1.0.2p, Twoja wersja może być inna.
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
się to uruchomić tutaj: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
openssl
został już zainstalowany, ale nie mogłem go zbudować, psycopg2
ponieważ narzekał na brak -lssl
. Postępowałem zgodnie z instrukcjami Simona Sheehana, ale wciąż nie był dostępny.
Ale patrząc na wiadomość po wymuszonym linkowaniu 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"
Zrobiłem więc to, co mówi. Dodałem te dwie linie do siebie ~/.bashrc
. I psycopg2
tym razem zbudowany bez błędów.
brew install libffi
stackoverflow.com/a/44707470/32453