Skip to content

Conversation

uilianries
Copy link
Member

@uilianries uilianries commented Jun 9, 2025

Having Python 3.12 is important to run internal tools in the CI, but as Conan should be working with an older version, both Python versions can be installed in parallel in the image.

The OpenSSL 1.1 is required in order to build Python 3.12: https://github.com/pyenv/pyenv/wiki/Common-build-problems#2-your-openssl-version-is-incompatible-with-the-python-version-youre-trying-to-install; Ubuntu 16.04 only offers OpenSSL 1.0, so we need to build it from source.

UPDATE: OpenSSL 3.x is compatible and will be used instead of 1.1.x version.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@uilianries uilianries requested a review from danimtb June 9, 2025 15:10
@@ -92,6 +93,23 @@ RUN wget --no-check-certificate --quiet -O /tmp/pyenv-installer https://raw.gith
&& ln -s /usr/share/pyshared/lsb_release.py /opt/pyenv/versions/${PYTHON_VERSION}/lib/python${PYTHON_VERSION%.*}/site-packages/lsb_release.py \
&& pip install -q --upgrade --no-cache-dir pip

# Python +3.10 requires OpenSSL 1.1.x, but Ubuntu 16.04 LTS ships with OpenSSL 1.0.x
RUN wget --no-check-certificate --quiet -O /tmp/openssl-1.1.1w.tar.gz https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-1.1.1w.tar.gz \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it work with a recent OpenSSL 3.x? as 1.x is already EOL

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question! Let me try with OpenSSL 3.x. Thank you for reviewing!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can build locally using OpenSSL 3.5.0 (latest). Addressed the changes on the commit 07ed7e8

Signed-off-by: Uilian Ries <uilianries@gmail.com>
@uilianries
Copy link
Member Author

@jcar87 The Python 3.12.7 is available in the PATH, and is installed in /opt/pyenv/versions/3.12.7/bin. It did not change the Python 3.7, the 3.7 remains the main version.

Copy link
Contributor

@jcar87 jcar87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!!

@uilianries uilianries merged commit 9b8ba4f into conan-io:master Jun 10, 2025
1 check passed
@uilianries uilianries deleted the feature/python-312 branch July 24, 2025 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants