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].

Reply via email to