Як встановити libssl-dev, libffi-dev на Mac OS?


18

Я можу встановити libssl-devі libffi-devна Ubuntu за допомогою команди apt-get install libssl-dev libffi-dev, але я не можу встановити на Mac; Я спробував використовувати команду: brew install libssl-dev libffiале не працює для мене.

Що потрібно зробити, щоб отримати домашню мову для встановлення цього?


Відповіді:


18

Ці конкретні пакети не існують під цими іменами як на MacPorts, так і на Homebrew. Для того, щоб встановити ці конкретні пакети на OS X, ви хочете використовувати openssl. Наступна команда повинна допомогти вам:

brew install openssl

Якщо ви вже opensslвстановили, спробуйте виконати наступне, щоб відновити його - деякі користувачі, які перебувають на переповнюванні стека, повідомили про це як виправлення, намагаючись працювати з Django.

brew unlink openssl && brew link openssl --force

Як це зробити без заварки і без судо?
tommy.carstensen

2
opensslне те саме, що libssl-dev. Перший - для прямого використання, другий - для зв'язування. UPD: нормально, для Mac вони зв'язані в один пакет, але вам потрібно запуститиexport LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Imaskar

10

Я намагався зняти Crystal з землі на MacOS Mojave і зіткнувся з подібною проблемою.

Це повідомлення про помилку, яке я бачив:

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`

Пошук / usr / local / lib Я помітив, що про libssl не згадується.

Тож я додав симпосилання і це, здавалося, виправило.

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

Примітка: Поточна версія openssl, яка варить краплі, становить 1.0.2p, ваша версія може бути різною.


7
Аналогічний випуск, з кришталем. Я зміг export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/і запустив його тут: github.com/brianmario/mysql2/isissue/795#issuecomment-337006164
Джей Дорсі,

2

opensslбув уже встановлений, але я не міг побудувати, psycopg2оскільки скаржився на відсутність -lssl. Я дотримувався кроків від Саймона Шихана, але його все ще не було.

Але дивлячись на повідомлення після примусового зв’язку 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"

Тому я зробив те, що говорить. Я додав ці два рядки в свою ~/.bashrc. І psycopg2побудований без помилок цього разу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.