Good question - I haven't gone that far into it either.

As for Jeff's other questions:

* python packaging. I don't know if/where it comes standard. I typically add it 
to CentOS when I install, but that is always a selection option. I don't know 
if it has some basic level of python support included as I've never checked - I 
always select the python lib options.

* I have no issue with scripting the Fortran support at build time, but I still 
think we should stick to some limit on language requirements. Not a rock-hard 
position, but a preference. Even if python is distributed now, you still have 
the version level issues we see with the configure stuff. We've managed to keep 
that out of the user-level build code, but this introduces it there. In 
fairness, I imagine we also have that with perl, though I think there is less 
issue with backward compatibility in that language? At least, we've never hit 
an issue.

* this isn't about Craig and his abilities - this is a more general 
requirements discussion. I personally wouldn't change my comments if it was 
Jeff or Brian making the request - the issue remains the same. Introducing 
another language requirement on the user-level build isn't a minor issue. Just 
because someone knows a language seems a weak argument - I had to learn perl to 
work on the build system too. The differences aren't that huge, and the barrier 
isn't that high.

Like I said, I don't have a rock-hard position on this - just question the 
rationale provided so far.

On May 22, 2013, at 9:18 AM, Josh Hursey <jjhur...@open-mpi.org> wrote:

> Is this Python 2.x or 3.x? I ask because they are not 100% compatible due to 
> changes in the language syntax. Meaning not all 2.x compilant Python programs 
> work with a 3.x interpreter. IIRC there is a way to write a 2.x compliant 
> Python program so that it is also 3.x compliant, but my Python knowledge does 
> not go deep enough to tell you exactly how to do that.
> 
> If we are going to require Python in the build path, we should be specific on 
> this point and check in the configure script.
> 
> -- Josh 
> 
> 
> On Wed, May 22, 2013 at 11:03 AM, Jeff Squyres (jsquyres) 
> <jsquy...@cisco.com> wrote:
> On May 22, 2013, at 10:00 AM, "Barrett, Brian W" <bwba...@sandia.gov> wrote:
> 
> >> Hmmm...the issue is that perl usually is included in the distro, but
> >> python often is not - you have to add that module.
> 
> This seems to be a key argument, but I'm not sure it's still true.
> 
> I'm a RHEL guy; I see that RHEL has installed python by default since RHEL4 
> (i.e., many, many years ago).  Are there other Linux distros that really 
> don't install Python by default?  This would surprise me.
> 
> I see python on my OS X Lion, and apparently in every OS X since (at least) 
> Leopard (Tony at Absoft checked for me).
> 
> I don't know about Python+Solaris, but I don't know if we (OMPI) care, either.
> 
> >> IIRC, that was the
> >> rationale for allowing perl. Others (e.g., me) had played with using
> >> python before, but switched to perl (a) for the prior rationale, and (b)
> >> to avoid proliferating language requirements.
> >>
> >> I happen to like python myself, but believe there is some value in
> >> avoiding adding yet another language to our list of requirements.
> >
> > I (strongly) agree with Ralph.  We made a decision (way back in the 1.0
> > timeframe) that we would use perl for a scripting language when absolutely
> > necessary.  And even at that, I believe we only require Perl for developer
> > builds or distribution builds where an assembly file doesn't already exist
> > for that compiler.
> 
> I believe that that is still true -- that's one of the reasons I sent around 
> this RFC (because introducing python at end-user "make" time is a Big Change).
> 
> > I have no problem with the change to generated bindings from a single
> > configuration file/set of files, a bit of a problem with that happening at
> > at configure / build time on a release distribution (we don't require
> > anything other than /bin/sh at configure / build time right now),
> 
> FWIW: the current Bourne shell scripts that generate the use mpi bindings are 
> pretty... horrible.  We have no intention of continuing to use Bourne shell 
> scripts for future code generation.
> 
> A little more rationale for scripting/generating at "make" time in general: 
> the problem is that Fortran compiler support is literally all over the map; 
> it's really not feasible to maintain a single .F90 file with preprocessor 
> macros to cover all the differences, because some differences require 
> different coding approaches (e.g., inline in a module vs. separate/individual 
> .F90 files -- the contents of these two are quite different).
> 
> That being said, we *could* pre-generate all possibilities and ship them all 
> in a tarball (i.e., only invoke a generator script at developer/make dist 
> time).  Note that that would lead to a bit more complexity, and could lead to 
> even more than 7 copies in the tarball (7 is pretty much the minimum -- and 
> that's with very heavy use of preprocessor macros).
> 
> Hence, in a perfect world, we could generate at "make" time only exactly what 
> the user's Fortran compiler needed.
> 
> > and a
> > strong problem with using Python instead of the Perl that we've previously
> > agreed we'd use when all other options are unavoidable.
> 
> I'm asking because:
> 
> - the contributor (Craig) has been around for years; he has a proven track 
> record of maintaining what he has contributed
> - the contributor wants to fundamentally advance our Fortran support
> - the contributor has a strong preference for Python
> - from my anecdotal evidence, Python is pretty ubiquitous these days (is that 
> wrong?)
> 
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> 
> -- 
> Joshua Hursey
> Assistant Professor of Computer Science
> University of Wisconsin-La Crosse
> http://cs.uwlax.edu/~jjhursey _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

Reply via email to