Bagaimana cara menginstal libssl-dev, libffi-dev di Mac os?

18

Saya dapat menginstal libssl-devdan libffi-devdi Ubuntu dengan perintah apt-get install libssl-dev libffi-dev, Tapi saya tidak bisa menginstal di Mac; Saya telah mencoba menggunakan perintah: brew install libssl-dev libffitetapi tidak berhasil untuk saya.

Apa yang harus saya lakukan agar homebrew dapat menginstal ini?

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

Jawaban:

18

Paket-paket khusus itu tidak ada di bawah nama-nama di MacPorts dan Homebrew - karena itu kesalahan yang Anda terima. Untuk menginstal paket-paket khusus ini pada OS X, Anda ingin menggunakannya openssl. Perintah berikut akan membantu Anda:

brew install openssl

Jika Anda sudah opensslmenginstal, coba jalankan yang berikut untuk memperbaikinya - beberapa pengguna di Stack Overflow melaporkan ini sebagai perbaikan ketika mencoba membuat Django berfungsi.

brew unlink openssl && brew link openssl --force
Simon Sheehan
sumber
Bagaimana Anda melakukannya tanpa minuman dan tanpa sudo?
tommy.carstensen
2
openssltidak sama dengan libssl-dev. Yang pertama adalah untuk penggunaan langsung, yang kedua adalah untuk menghubungkan. UPD: ok, untuk mac mereka dibundel dalam satu paket, tetapi Anda harus menjalankanexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar
9

Saya mencoba untuk mendapatkan Crystal dari MacOS Mojave dan mengalami masalah serupa.

Ini adalah pesan kesalahan yang saya lihat:

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`

Mencari / usr / local / lib saya perhatikan tidak ada penyebutan libssl.

Jadi saya menambahkan symlink dan sepertinya memperbaikinya.

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

Catatan: Versi openssl saat ini yang menyeduh adalah 1.0.2p, versi Anda mungkin berbeda.

kroolk
sumber
7
Masalah serupa, dengan kristal juga. Saya dapat export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/menjalankannya di sini: github.com/brianmario/mysql2/issues/795#issuecomment-337006164
Jay Dorsey
1

opensslsudah terpasang, tetapi saya tidak bisa membangun psycopg2karena mengeluh tentang hilang -lssl. Saya telah mengikuti langkah-langkah dari Simon Sheehan tetapi itu masih belum tersedia.

Tetapi melihat pesan setelah paksa menghubungkan 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"

Jadi saya melakukan apa yang dikatakannya. Saya telah menambahkan dua baris di ~/.bashrc. Dan kali ini psycopg2dibangun tanpa kesalahan.

Aline
sumber