Somehow Alastair’s response got eaten by Google Groups, so I include it below.
Good points — thanks Alastair. FWIW: In the Perl scripts that we’ve converted to Python so far, we’ve managed to do it with just core Python — no pip installs needed. Open MPI has required Perl as part of its build process for years (decades); this is just updating those Perl scripts to Python. We require >= Python 3.7, but try to stay pretty “vanilla” Python so that it works across a bunch of different versions. These Perl-now-Python scripts are simply generating some C and Fortran source code (reacting to results determined by the configure script tests) — we’re not talking about an MPI Python package, for example. Hence, there’s no pyproject.toml, Messon, … etc. There is one exception: when you git clone Open MPI and need to build the docs + man pages, you do need to pip install Sphinx (per docs/requirements.txt). To be clear: Sphinx is not required when building Open MPI from an official distribution tarball. Open MPI tarballs are bootstrapped with pre-built HTML docs and nroff man pages so that users don’t have to have Sphinx installed. We haven’t ever supported building the Fortran bindings with multiple different Fortran compilers in a single build; that’s unfortunately never been a requirements, and would also unfortunately take quite a bit of work (e.g., we’d have to split out a whole chunk of configury into a standalone thing that could effectively govern a subset of the C + Fortran code base). > -------- Forwarded Message -------- > Subject: Re: [OMPI packagers] Thoughts on adding Python as a build > dependency? > Date: Thu, 15 May 2025 15:47:38 +0100 > From: Alastair McKinstry <[email protected]> > <mailto:[email protected]> > To: [email protected] > <mailto:[email protected]> > From the Debian/Ubuntu side, no problem, but it would be good to pay > attention to any Python dependencies that get sucked in. Is it Just moving to > Python3 or a larger project to something like pyproject.toml support, Meson, > etc? > > When working on large and complex builds (eg ones that have a mixture of > C,C++ and Fortran interfaces and libraries, multiple Pythons,etc) its useful > to have a build system that (1) has some form of program language structure > or classes etc (2) breaks out builds. > > For example while in Debian we try to mostly support one (latest) Python > instance (in the current Debian 13 release we're working on, python 3.13) we > allow for (especially in development) multiple Pythons. So > libraries/extensions get built for multiple python versions. In a good build > system this might mean calling build in a ./wrappers/python directory > multiple times for each supported Python. For a bad one, rebuilding > everything (all the C and other libraries) for each Python. > > Similarly, in upcoming releases expect that the Fortran libraries may be > rebuilt with different Fortran compilers (see my upcoming talk at Debconf on > multiple parallel Fortran stacks) for gfortran, flang, etc. > > Thanks > > Alastair > > > > On 15/05/2025 15:11, Jeff Squyres wrote: >> Open MPI packagers — >> >> There’s active work going on to (slowly) convert the Perl scripts used in >> Open MPI’s build process to Python >= v3.7 for the Open MPI 6.0.x series. >> That being said, even with this work, I’m sure we won’t eliminate the Perl >> build requirement before v6.0.0. >> >> Depending on how packagers build Open MPI, you may have effectively already >> had a Python 3 build requirement. But these changes would require Python 3 >> for *all* build scenarios — even for build-from-tarball-source end users. >> >> Does anyone have any opinions on Open MPI v6.x adding Python >=v3.7 as a >> build requirement? Possibilities include: >> >> “No problem / I don’t care" >> “This is terrible! Let me tell you why…” >> …something else >> >> I’d love to hear your thoughts here. >> >> Thanks! >> >> -- >> {+} Jeff Squyres >> >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] >> <mailto:[email protected]>. > -- > Alastair McKinstry, > GPG: 82383CE9165B347C787081A2CBE6BB4E5D9AD3A5 > e: [email protected] <mailto:[email protected]>, im: > @alastair:mckinstry.ie @[email protected] > > Commander Vimes didn’t like the phrase “The innocent have nothing to fear,” > believing the innocent had everything to fear, mostly from the guilty but in > the longer term > even more from those who say things like “The innocent have nothing to fear.” > - T. Pratchett, Snuff -- {+} Jeff Squyres To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
