Я хочу установить 2.6.6 Python как 32-разрядную с pyenv в OS X, но получаю:
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
Несмотря на то, что вы ознакомились с общими проблемами сборки и применили предложенные там флаги, как а также при установке инструментов разработчика Xcode проблема сохраняется. Вот полная команда:
CFLAGS="-I$(xcrun --show-sdk-path)/usr/include -arch i386 -I$(brew --prefix openssl)/include" LDFLAGS="-arch i386 -L$(brew --prefix openssl)/lib" CONFIGURE_OPTS="--with-arch=i386" pyenv install 2.6.6
... но это создает 64-битную сборку, которая мне не нужна.
Как ни странно, сборка работает, когда пробуется только следующее:
CFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" pyenv install 2.6.6
Что нам не хватает? Означает ли следующее из журнала, что мне нужен openssl, созданный для i386/32-bit?
ld: warning: ignoring file /usr/local/opt/openssl/lib/libcrypto.dylib, file
was built for x86_64 which is not the architecture being linked (i386):
/usr/local/opt/openssl/lib/libcrypto.dylibld: warning:
ignoring file /usr/local/opt/openssl/lib/libssl.dylib, file was built for
x86_64 which is not the architecture being linked (i386):
/usr/local/opt/openssl/lib/libssl.dylib
darwin-i386-cc
при построении. - person Martin Konecny   schedule 17.01.2016python
где-то в вашем каталоге сборки. Вам просто нужно указать pyenv на это. И да, эти инструкции выглядят хорошо. - person Martin Konecny   schedule 17.01.2016sudo ln -s /tmp/openssl-1.0.0a /usr/local/opt/openssl
, то сборка подхватит этот 32-битный openssl, но он продолжает предупреждать о:warning: ignoring file /usr/local/opt/openssl/lib/libcrypto.dylib
, поэтому я предполагаю, что что-то не так. - person Pyderman   schedule 17.01.2016-L$(brew --prefix openssl)/lib"
на-L/tmp/openssl-1.0.0a/lib"
Сначала убедитесь, что путь существует (lib
может находиться в более глубоком подкаталоге). - person Martin Konecny   schedule 17.01.2016-I$(brew --prefix openssl)/include
. - person Martin Konecny   schedule 17.01.2016