Установка Python 3.7 на Freebsd 11 с помощью ssl - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь установить Python 3.7 на Freebsd 11.1 с поддержкой ssl.

Попытка # 1: предварительно скомпилированный бинарный файл не запускается из-за того, что libdl.so.1 не найден

pkg install python37
...
root@s0001:~ # python3.7
Shared object "libdl.so.1" not found, required by "python3.7"

Попытка # 2: я скачал исходный код на python 3.7 и попытался выполнить сборку с настройками по умолчанию, но модуль ssl не найден

./configure
make
...
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_gdbm                 _sqlite3              _ssl
_tkinter              spwd
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

Попытка # 3: я заметил, что внутри openssl 1.1.1 есть источникархив python, поэтому я попробовал --with-openssl, но получил ошибки компилятора:

./configure --with-openssl=openssl-1.1.1
make

openssl-1.1.1/include/openssl/bn.h:332:1: error: expected function body after function declarator

DEPRECATEDIN_0_9_8(int
^
openssl-1.1.1/include/openssl/bn.h:403:1: error: expected function body after function declarator
DEPRECATEDIN_0_9_8(int BN_get_params(int which)) /* 0, mul, 1 high, 2 low, 3
^
In file included from /root/Python-3.7.0/Modules/_hashopenssl.c:23:
In file included from openssl-1.1.1/include/openssl/evp.h:28:
In file included from openssl-1.1.1/include/openssl/objects.h:15:

Кажется, что установка Python с поддержкой ssl (я думаю, что использование openssl, входящего в tarball) должна быть простой.Как правильно это сделать?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

У меня была та же проблема, но я решил обновить FreeBSD, а не перестраивать python.

FreeBSD 11.2 добавил libdl в этот коммит , который мы видим в исходном коде 11.2, но не источник 11,1 (404) .Начиная с 2018-09-30, 11.1 была неподдерживаемой .

Таким образом, этот пакет и потенциально другие пакеты могут иметь один и тот же симптом (отсутствует libdl) в 11.1, потому что текущие сборки пакета больше не нужныподдерживать 11.1.

0 голосов
/ 10 октября 2018

У меня это работает.

Мне нужно было запустить

pkg install openssl

, а затем я смог собрать и установить, используя значения по умолчанию (т.е. после попытки № 2)

...