[llvm-dev] Python version requirement

85 views
Skip to first unread message

Chris Tetreault via llvm-dev

unread,
Jan 29, 2021, 3:18:08 PM1/29/21
to llvm...@lists.llvm.org

                I just pushed a patch that uses CMake to actually enforce the minimum version of Python 3.6. (https://reviews.llvm.org/D95635) On https://llvm.org/docs/GettingStarted.html#software, we document that Python 3.6 is the minimum version of python that is required for LLVM, and some patches have gone in to use Python 3.6 features. As of a few days ago, if you try to run the test suite without python 3.6 or greater, you will get a syntax error in the test suite python code. However, I had to revert my patch because some of the build bots don’t actually have Python 3.6. Specifically, I got a failure in the fuchsia-x86_64-linux bot that has Python 3.5.3. I have no way of knowing if any other infrastructure has this issue. (unless they email me to complain)

 

                I think that Ideally we want CMake to enforce the version minimum, but we can’t do that until the build bots are all updated. I wanted to raise awareness of this issue so that hopefully we can get this sorted out soon.

 

Thanks,

                Christopher Tetreault

Chris Tetreault via llvm-dev

unread,
Jan 29, 2021, 3:28:01 PM1/29/21
to llvm...@lists.llvm.org

It was actually pointed out to me that the linked page just says “known to work”, not “minimum required”, so now I’m very confused as to what to do. I think two reasonable ways ahead are to just roll with it and require 3.6, or to revert the recent patches that require it and to find the lowest version that works with the resulting code. Thoughts?

Stella Laurenzo via llvm-dev

unread,
Jan 29, 2021, 6:18:21 PM1/29/21
to Chris Tetreault, llvm-dev
I think we should enforce a minimum version and that should not be less than 3.6. <3.6 is eol, and bug fixes for 3.6 will continue through 2021. Obviously, we should make sure that bots are upgraded of course, I would think...

_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Julian Lettner via llvm-dev

unread,
Jan 29, 2021, 7:15:21 PM1/29/21
to Stella Laurenzo, llvm-dev

On Jan 29, 2021, at 3:18 PM, Stella Laurenzo via llvm-dev <llvm...@lists.llvm.org> wrote:

I think we should enforce a minimum version and that should not be less than 3.6. <3.6 is eol, and bug fixes for 3.6 will continue through 2021. Obviously, we should make sure that bots are upgraded of course, I would think...

This makes sense to me.


On Fri, Jan 29, 2021, 12:28 PM Chris Tetreault via llvm-dev <llvm...@lists.llvm.org> wrote:

It was actually pointed out to me that the linked page just says “known to work”, not “minimum required”, so now I’m very confused as to what to do. I think two reasonable ways ahead are to just roll with it and require 3.6, or to revert the recent patches that require it and to find the lowest version that works with the resulting code. Thoughts?

Pasting the used language in the docs to aid the discussion.

Getting Started with the LLVM System —> Requirements —> Software

Compiling LLVM requires that you have several software packages installed. The
table below lists those required packages. The Package column is the usual name
for the software package that LLVM depends on. The Version column provides
“known to work” versions of the package. The Notes column describes how LLVM
uses the package and provides other details.

So the packages themselves are required, but the exact versions are “known to work”.  Previously, I didn’t read the text carefully enough and misrepresented its meaning (causing the trouble that triggered this thread).  I am voting for removing the “known to work” phrase from the docs since I don’t think the distinction between package and versioned-package is useful.

Note that we already have a precedent for requiring the stated version with CMake.  Most CMakeLists.txt start with `cmake_minimum_required(VERSION 3.13.4)`.

As for the exact version (3.5 or 3.6) I have no strong preference, so I would follow Stella’s recommendation.
Reply all
Reply to author
Forward
0 new messages