Let me jump in here with a different perspective.
First, for those who don't know me:
+ I am NOT an OMPI developer
+ I am NOT an MPI application author either
+ I am a developer of "competing" HPC communications software (GASNet)
+ I contribute to OMPI mainly by building release candidates on my menagerie of test systems
+ I less frequently contribute bug reports and patches (and opinions like this one)
As a developer myself, I agree that the maintainability problem that Jeff and Craig are trying to address is an important one.
I think we all agree there
I understand the concerns that Ralph has expressed and Brian has echoed, but I do not fully agree.
I do agree that *if* one picks a scripting language for build-time tasks (configure and/or make), the there should really be only one unless there is a really good motivation for more. But if I understood, the bigger issue than perl-vs-python is that perl has so far only be required for folks who need to autogen but not for users who just build from a tarball.
I believe there is a tiny amount of perl in the configure/make portion of the build system, but it is very small - perl use is mostly confined to autogen.pl
In my opinion any "user" who is going to build an MPI implementation should be capable of installing the reasonable "build dependencies", whether it be python 2.x, python 3.x, perl or even tcl. It is not like one is asking for smalltalk or common lisp.
True, but many of our users build their own versions of OMPI (as opposed to what is provided by the sys admin), and they often don't have the ability/expertise to install languages.
Additionally, as a "build dependency" the requirement applies only to the OMPI-build host, not to the host(s) used to build the MPI applications, and NOT to the compute nodes.
For the user building sources via RPM or APT packaging for Linux, Fink for MacOS, or ports/packages for BSDs there are already mechanisms for expressing build dependencies in those respective systems. Everything is just automatic for those users.
Since OMPI already ships all the generated atomics variants in the tarball, there is precedence in support of the alternative of per-generating all the Fortran wrapper variants. That does NOT address Brian's strong objection to adding a new language dependency, but moves the language dependency from the end-user to the developer, and hopefully only to those developers who modify the Fortran bindings.
I suspect there is less objection to adding a language dependency to the tarball generator - the objections expressed so far were about adding python to the actual configure/compile stages. Users who build their own versions mostly download tarballs, so pushing the Fortran generator into the tarball creation phase would be less of a problem.
devel mailing list