openssl サポートによる Python ビルド

openssl サポートによる Python ビルド

次のディレクトリ構造があります。

nchambers@nchambers-305E4A-305E5A-305E7A:~/mini-bin$ la
2to3               cpp-5.3.0            gcov-5.3.0           grmid-5.3.0         objcopy-2.25.1    python3.5-config      .sources
2to3-3.5           elfedit-2.25.1       gcov-tool-5.3.0      grmiregistry-5.3.0  objdump-2.25.1    python3.5m            strings-2.25.1
addr2line-2.25.1   g++-5.3.0            gfortran-5.3.0       gserialver-5.3.0    pydoc             python3.5m-config     strip-2.25.1
aot-compile-5.3.0  gappletviewer-5.3.0  gij-5.3.0            gtnameserv-5.3.0    pydoc3            python3-config        x86_64-unknown-linux-gnu-c++-5.3.0
ar-2.25.1          gc-analyze-5.3.0     gjar-5.3.0           idle                pydoc3.5          python-config         x86_64-unknown-linux-gnu-g++-5.3.0
.archives          gcc-5.3.0            gjarsigner-5.3.0     idle3               python            pyvenv                x86_64-unknown-linux-gnu-gcc-5.3.0
as-2.25.1          gcc-ar-5.3.0         gjavah-5.3.0         idle3.5             python2           pyvenv-3.5            x86_64-unknown-linux-gnu-gcc-ar-5.3.0
bash               gcc-nm-5.3.0         gkeytool-5.3.0       jcf-dump-5.3.0      python2.7         ranlib-2.25.1         x86_64-unknown-linux-gnu-gcc-nm-5.3.0
.binaries          gcc-ranlib-5.3.0     gnative2ascii-5.3.0  jv-convert-5.3.0    python2.7-config  readelf-2.25.1        x86_64-unknown-linux-gnu-gcc-ranlib-5.3.0
.build             gcj-5.3.0            gorbd-5.3.0          ld-2.25.1           python2-config    rebuild-gcj-db-5.3.0  x86_64-unknown-linux-gnu-gcj-5.3.0
c++-5.3.0          gcj-dbtool-5.3.0     gprof-2.25.1         ld.bfd-2.25.1       python3           size-2.25.1           x86_64-unknown-linux-gnu-gfortran-5.3.0
c++filt-2.25.1     gcjh-5.3.0           grmic-5.3.0          nm-2.25.1           python3.5         smtpd.py
nchambers@nchambers-305E4A-305E5A-305E7A:~/mini-bin$ la .sources/
bash-4.4-beta  binutils-2.25.1  boost_1_60_0  gcc-5.3.0  Python-2.7.11  Python-3.5.1
nchambers@nchambers-305E4A-305E5A-305E7A:~/mini-bin$ la .build/
bash-4.4-beta  binutils-2.25.1  boost_1_60_0  gcc-5.3.0  Python-2.7.11  Python-3.5.1
nchambers@nchambers-305E4A-305E5A-305E7A:~/mini-bin$ la .binaries/
bash-4.4-beta  binutils-2.25.1  boost_1_60_0  gcc-5.3.0  Python-2.7.11  Python-3.5.1
nchambers@nchambers-305E4A-305E5A-305E7A:~/mini-bin$ 

一般的に言えば、タールボールが入り.archives、解凍されたソースが入り.sources、ビルドが行われ.build、最終バイナリが保存されます.binaries。その後、バイナリを$ PATH.binariesにシンボリックリンクしました。~/mini-bin私はこれが奇妙なワークフローであることを知っていますが、それは私にとって効果的です。とにかく、ソースからpython-2.7.11(および3.4​​.0、2.7.11から始まる)を再構築したいと思います。私のシステムではうまく構築されていますが、ncurses、readline、SSLなどをサポートして構築するために必要です。これらのライブラリをソースからコンパイルする必要がありますか?それでは、図書館はどこに置くべきですか? Pythonでビルドするように指示するにはどうすればよいですか?ありがとうございます。良い一日になろう!

答え1

私はUbuntu 20.10から3.9.1を構築しようとしてきました。

ここの依存関係のヒントに従ってください。

https://devguide.python.org/setup/#install-dependents

具体的には、リポジトリから3.9.0をインストールし、ソースリポジトリを有効にした後、次のことを行いました。

sudo apt-get build-dep python3.9

次に、構成フェーズにこれを使用します。

LDFLAGS="-L/usr/lib/x86_64-linux-gnu" ./configure --enable-optimizations

SSLエラーなしでPythonをビルドすることは意味があります。

LDFLAGS プレフィックスがないと、SSL のためビルドが失敗します。

しかし、

make test

モジュールをインポートしたにもかかわらず、SSLテストにはまだ失敗が表示されます。

答え2

関連情報