Боюсь, я напутал с версией (0.9.8zg) OpenSSL, которая была установлена на моем Mac. Пока пытался обновить, теперь у меня какая-то ошибка и по каким-то причинам приложения типа Apache или Google Drive больше не работают и даже не запускаются.
Я хотел бы знать, как лучше всего восстановить openssl до рабочей версии без переустановки всей операционной системы.
Как мне это сделать? До сих пор я пытался загрузить openssl-0.9.8zg
и собрать его с помощью ./config
, make
но make install
это не решило проблему. Пожалуйста, помогите мне, если это возможно.
Обновлять:
Я скачал openssl-0.9.8zg с официального сайта и сделал следующее:
./Configure darwin64-x86_64-cc --prefix=/usr
make
sudo make install
Теперь выходные команды:
$ openssl version
OpenSSL 0.9.8zg 11 Jun 2015
$ which openssl
/usr/bin/openssl
$ /usr/bin/openssl version
OpenSSL 0.9.8zg 11 Jun 2015
$ openssl version -a
OpenSSL 0.9.8zg 11 Jun 2015
built on: Wed Dec 30 19:50:01 CET 2015
platform: darwin64-x86_64-cc
options: bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: cc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -fomit-frame-pointer -DL_ENDIAN -DMD32_REG_T=int -Wall
OPENSSLDIR: "/usr/ssl"
Тем не менее проблема сохраняется.
Вот некоторые ошибки, которые я получаю: например, при попытке запустить Apache он говорит:
Синтаксическая ошибка в строке 111 файла /Applications/MAMP/conf/apache/httpd.conf: невозможно загрузить /Applications/MAMP/Library/modules/mod_ssl.so на сервер: dlopen(/Applications/MAMP/Library/modules/mod_ssl.so , 10): Символ не найден: _SSLv2_client_method
Ссылка из: /Applications/MAMP/Library/modules/mod_ssl.so
Ожидается в: /usr/lib/libssl.0.9.8.dylib в /Applications/MAMP/Library/modules/mod_ssl .так
но libssl.0.9.8.dylib присутствует внутри /usr/lib , поэтому я не знаю, почему/что он не находит. Можно ли это исправить?
Или, например, если я выполняю brew install libssl
, я получаю:
Ошибка: dlopen(/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle, 9): символ не найден: _SSLv2_client_method Ссылка из: /System /Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle Ожидается в: /usr/lib/libssl.0.9.8.dylib в /System/Library /Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15/openssl.bundle - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/ 2.0.0/универсальный-darwin15/openssl.bundle
Более того, Google Диск больше не запускается
Не уверен, что это полное решение, но OPENSSLDIR указывает не на то место. Также различные инструкции по компиляции включают опцию «shared».
Так что попробуйте это и дайте нам знать, как вы поживаете.
./Configure darwin64-x86_64-cc --prefix=/usr --openssldir=/System/Library/OpenSSL shared
make
sudo make install
openssl-1.0.2e
с написанными вами командами. Спасибо. Могу я спросить еще две вещи? 1 - как я могу почистить свой макбук? Потому что у меня раньше было много вещей, и я представляю, что там много мусорных файлов... 2 - Боюсь, я удалил man. При запуске man something
пишет "команда не найдена". Как я могу восстановить его?
Алистер Макмиллан
openssl version
Пожалуйста , откройте новое окно терминала, запуститеwhich openssl
и/usr/bin/openssl version
обновите свой вопрос с результатами.Лори Лори
Алистер Макмиллан
openssl version -a
. Вы отключили защиту целостности системы (SIP)?Лори Лори
Алистер Макмиллан