У меня есть простая программа на C, использующая libssl.
В Linux я установил пакет openssl-dev и скомпилировал программу со следующей строкой:
gcc test_libssl.c -o test_libssl -lcrypto -lssl
Теперь я хотел бы сделать то же самое на моем Mac. Та же строка привела к:
fatal error: 'openssl/conf.h' file not found
Пробовал установить openssl (openssl-dev не работал) с доморощенным через brew install openssl
Это дало мне:
...
==> Установка openssl
==> Загрузка https://www.openssl.org/source/openssl-1.0.2a.tar.gz curl: (22) Запрошенный URL вернул ошибку: 404 Not Found
Я нашел связанный с SO вопрос без ответа.
я тоже пробовал
brew info openssl
и получил информацию, что
Эта формула предназначена только для бочонков. Mac OS X уже предоставляет это программное обеспечение, и параллельная установка другой версии может вызвать всевозможные проблемы.
Apple отказалась от использования OpenSSL в пользу собственных TLS и криптографических библиотек.
Что мне нужно сделать / установить, чтобы иметь возможность компилировать libssl-программы с использованием C-программ в OS X?
Или, во-первых, это плохая идея (учитывая предупреждение выше)?
ОБНОВЛЕНИЕ:
Я установил openssl с помощью brew. Я не уверен, была ли проблема в этом, но я обновил brew. Прислушиваясь к совету пивовара
Вероятно, вам следует изменить владельца и разрешения /usr/local обратно на вашу учетную запись пользователя. sudo chown -R $(whoami):admin /usr/local
и эту проблему.
Затем, следуя совету @Alex Reynolds, я успешно скомпилировал его с помощью
gcc test_libssl.c -o test_libssl -lssl -lcrypto -L/usr/local/opt/openssl/lib -I/usr/local/opt/openssl/include