Installieren Sie openssl-1.0.2l unter OSX El Capitan und aktualisieren Sie Python _ssl.so

Eine Aufzeichnung der Installation von openssl-1.0.2l unter OSX El Capitan.

Der Inhalt ist der gleiche wie Installiere openssl-1.0.2f unter OSX Yosemite und aktualisiere _ssl.so von Python.

OpenSSL von OSX El Capitan ist eine 0.9.8-Serie, die Unterstützung endete jedoch am 31. Dezember 2015. OS X El Capitan wird am 30. September 2015 veröffentlicht. Wie sieht es mit der Bündelung von OpenSSL 0.9.8zh aus, das Ende des Jahres EOL sein wird?

OS X El Capitans openssl ist übrigens für den Versionsbefehl

$ /usr/bin/openssl version
OpenSSL 0.9.8zh 14 Jan 2016

Gibt die Ausgabe zurück. Die verteilte OpenSSL 0.9.8zh gibt die Ausgabe "OpenSSL 0.9.8zh 14 Jan 2016" zurück, so dass anscheinend etwas getan wurde.

build openssl-1.0.2l

Erstellen Sie die 32-Bit-Version und die 64-Bit-Version separat und machen Sie sie mit Lipo zu Univesal Binary. Ich habe mich gefragt, ob ich es mit -arch x86_64 -xarch i386 mit der Kompilierungsoption multilib machen könnte, aber ich nehme diese Methode, weil die Kompilierung mir einen Fehler gibt.

$ ./Configure shared darwin64-x86_64-cc
$ make

Prüfung

$ make test

OK, wenn kein Fehler vorliegt

Installation Es wird in der Standardeinstellung / usr / local / ssl installiert.

$ sudo make install
$ cd /usr/local/ssl
$ sudo mkdir bin64
$ sudo sh -c 'cd bin && find . -print | cpio -pdmu ../bin64'
$ sudo mkdir lib64
$ sudo sh -c 'cd lib && find . -print | cpio -pdmu ../lib64'

Gehen Sie zurück zum Quellbaum und erstellen Sie die 32-Bit-Version

$ make clean
$ ./Configure shared darwin-i386-cc
$ make

Installation Es ist keine Dokumentation erforderlich. Führen Sie daher make install_sw aus.

$ sudo make install_sw
$ cd /usr/local/ssl
$ sudo mkdir bin32
$ sudo sh -c 'cd bin && find . -print | cpio -pdmu ../bin32'
$ sudo mkdir lib32
$ sudo sh -c 'cd lib && find . -print | cpio -pdmu ../lib32'

Erstellen Sie mit Lipo eine Univesal-Binärdatei.

$ cd /usr/local/ssl
$ sudo lipo -create bin{32,64}/openssl -output bin/openssl
$ sudo lipo -create lib{32,64}/libcrypto.a -output lib/libcrypto.a
$ sudo lipo -create lib{32,64}/libssl.a -output lib/libssl.a
 $ find lib64 -type f -name '*.dylib' | while read file ; do echo lipo -create $(echo "$file" | sed 's/64/{32,64}/') -output $(echo "$file" | sed 's/64//'); done | sudo sh
$ sudo rm -r bin{32,64} lib{32,64}

Wenn Sie beim Erstellen von Programmen in Zukunft openssl in / usr / local / ssl verwenden, wird openssl der 1.0.2-Serie verknüpft.

Aktualisieren Sie die Python-SSL-Bibliothek. Beachten Sie, dass, wenn die Entwicklungsumgebung nicht "xcode-select --install" ist, "configure" den Header nicht findet und ein Fehler auftritt.

$ sudo xcode-select --install
Password:
xcode-select: note: install requested for command line developer tools

Rufen Sie die Quelldatei von https://www.python.org/downloads/release/python-2710/ ab.

tar xfz Python-2.7.10.tgz
cd Python-2.7.10
CC=cc \
CPPFLAGS=-I/usr/local/ssl/include \
LDFLAGS='-L/usr/local/ssl/lib -Wl,-rpath,/usr/local/ssl/lib' \
./configure --enable-framework --enable-universalsdk --with-universal-archs=intel
$ make

In der Tat ist alles, was ich will, "_ssl.so".

$ find . -name _ssl.so
./build/lib.macosx-10.5-intel-2.7/_ssl.so

Diese _ssl.so sollte geladen werden, wenn Sie ssl` in Python importieren.

$ sudo mkdir /Library/Python/2.7/lib-dynload
$ sudo cp build/lib.macosx-10.5-intel-2.7/_ssl.so /Library/Python/2.7/lib-dynload

Erstellen Sie eine sitecustomize.py wie diese und fügen Sie Ihrem Suchpfad /Library/Python/2.7/lib-dynload hinzu.

/Library/Python/2.7/site-packages/sitecustomize.py


import sys
sys.path.insert(0, '/Library/Python/2.7/lib-dynload')

Funktionsprüfung.

$ python
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2l  25 May 2017'

Recommended Posts

Installieren Sie openssl-1.0.2l unter OSX El Capitan und aktualisieren Sie Python _ssl.so
Installieren Sie python3 auf einem Mac (El Capitan)
Installieren Sie matplotlib unter OS X El Capitan
Installieren Sie pyenv unter OSX
Installieren Sie Caffe unter OSX 10.10 und klassifizieren Sie Bilder nach Referenzmodell
Installieren Sie das Kissen unter Mac OSX 10.9
So erstellen Sie eine .dylib-Bibliothek aus einer .a-Bibliothek mit OSX (El Capitan)
Installieren Sie Mecab und mecab-python3 unter Ubuntu 14.04
Installieren Sie Dropbox und führen Sie es unter Ubuntu 20.04 aus
Installieren Sie OpenCV und Chainer unter Ubuntu
Installieren Sie CUDA 8.0 und Chainer unter Ubuntu 16.04
Erstellen und installieren Sie OpenCV unter Windows
Installieren Sie Fabric unter Ubuntu und versuchen Sie es
Installieren Sie easy_install und pip unter Windows
Installieren Sie wsl2 und Master Linux unter Windows
Installieren und starten Sie k3s unter Manjaro Linux
Installieren und konfigurieren Sie den TigerVNC-Server unter Linux
Installieren Sie Puppet Master und Client unter Ubuntu 16.04
Installieren Sie pyenv und Python 3.6.8 unter Ubuntu 18.04 LTS
Aktualisieren des Python-Moduls in OSX El Capitan
Installieren Sie pyenv und rbenv systemweit unter CentOS