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

관련 정보