Looks fine to me. I would only add one further refinement - I think we should 
check m4, but add a check in autogen.pl so that if we get nothing useful back 
from -v (or whatever), then output a warning that we couldn't validate the 
version and assume it is okay.

I believe the tool will return a non-zero status if the option isn't supported, 
so we should be able to do this - yes?


On Nov 15, 2012, at 7:48 AM, "Hjelm, Nathan T" <hje...@lanl.gov> wrote:

> Since the version of m4 that comes with Solaris likely works with all our .m4 
> files and there is no way to check the version (no --version, -v, -V, or 
> anything from what I can tell) I guess we have no choice but to not check the 
> m4 version.
> 
> flex on the other hand we can check. How about this for the new regex (for 
> reference the old one is $version =~ m/\s([\d\w\.]+)$/m; -- matching a 
> version at the end of the line):
> 
> $version =~ m/\s([\d\.]+\w?)/m;
> 
> It works with Apple's flex and still works with glibtoolize, autoconf, and 
> automake.
> 
>   Searching for autoconf
>     Found autoconf version 2.69; checking version...
>       Found version component 2 -- need 2
>       Found version component 69 -- need 65
>     ==> ACCEPTED
>   Searching for libtoolize
>  libtoolize not found
>   Searching for glibtoolize
>     Found glibtoolize version 2.4.2; checking version...
>       Found version component 2 -- need 2
>       Found version component 4 -- need 2
>     ==> ACCEPTED
>   Searching for automake
>     Found automake version 1.12.2; checking version...
>       Found version component 1 -- need 1
>       Found version component 12 -- need 11
>     ==> ACCEPTED
>   Searching for flex
>     Found flex version 2.5.35; checking version...
>       Found version component 2 -- need 2
>       Found version component 5 -- need 5
>       Found version component 35 -- need 35
>     ==> ACCEPTED
>   Searching for m4
>     Found m4 version 1.4.6; checking version...
>       Found version component 1 -- need 1
>       Found version component 4 -- need 4
>       Found version component 6 -- need 16
>     ==> Too low!  Skipping this version
>   Searching for gm4
>     Found gm4 version 1.4.16; checking version...
>       Found version component 1 -- need 1
>       Found version component 4 -- need 4
>       Found version component 16 -- need 16
>     ==> ACCEPTED
> 
> 
> -Nathan
> 
> ________________________________________
> From: devel-boun...@open-mpi.org [devel-boun...@open-mpi.org] on behalf of 
> Paul Hargrove [phhargr...@lbl.gov]
> Sent: Wednesday, November 14, 2012 7:37 PM
> To: Larry Baker
> Cc: Open MPI Developers
> Subject: Re: [OMPI devel] [OMPI svn] svn:open-mpi r27601 - trunk
> 
> Larry,
> 
> I just wanted to speak up quickly to be sure nobody used your example to 
> "fix" the Mac OS problem and thereby break Solaris instead.  No personal 
> attack/affront was intended.
> 
> -Paulhttps://mymail.lanl.gov/owa/?ae=PreFormAction&t=IPM.Note&a=ReplyAll&id=RgAAAAD3GfjXt9HDTI902%2b63W1IcBwCuRfL1X%2babT5m7NFXoIdcVAAAAxVZxAACuRfL1X%2babT5m7NFXoIdcVAAAa4RQFAAAJ#
> 
> On Wed, Nov 14, 2012 at 7:10 PM, Larry Baker 
> <ba...@usgs.gov<mailto:ba...@usgs.gov>> wrote:
> Paul,
> 
> 1) I wasn't trying to solve the --version issue, only the parsing of the 
> response.
> 2) I assumed from the initial e-mail that the broken parser was in a Perl 
> script.  I'm not a Perl person, so I wrote the example regular expression 
> parser in sed.
> 
> These commands were done on my Mac OS X 10.6 system.  I have no idea where 
> the apps came from.  I know the sed, at least, does not recognize regular 
> expressions documented for GNU sed (such as \< \> for begin/end word).  Maybe 
> it is a BSD sed?
> 
> I was just trying to illustrate how to fix the broken parsing of Ralph's 
> "flex --version".  Assuming the RE parser I wrote is satisfactory, it would 
> have to be adapted to fit in the framework, i.e., it has to be portable.
> 
> Larry Baker
> US Geological Survey
> 650-329-5608<tel:650-329-5608>
> ba...@usgs.gov<mailto:ba...@usgs.gov>
> 
> 
> 
> On 14 Nov 2012, at 5:41 PM, Paul Hargrove wrote:
> 
> On Wed, Nov 14, 2012 at 6:26 PM, Larry Baker 
> <ba...@usgs.gov<mailto:ba...@usgs.gov>> wrote:
> m4 --version | sed -n -E -e 
> '1s/^.*[^A-Za-z0-9_-]?([0-9]+[.][0-9]+[.][0-9]+)[^A-Za-z0-9_-]?.*$/\1/p'
> 
> 
> There are STILL problems with this approach as it is TWICE specific to GNU 
> software:
> 
> 1) M4 on OpenBSD (maybe others) doesn't support a "--version" flag:
> $ m4 --version | sed -n -E -e 
> '1s/^.*[^A-Za-z0-9_-]?([0-9]+[.][0-9]+[.][0-9]+)[^A-Za-z0-9_-]?.*$/\1/p'
> m4: unknown option -- -
> usage: m4 [-gPs] [-Dname[=value]] [-d flags] [-I dirname] [-o filename]
>        [-t macro] [-Uname] [file ...]
> 
> 2) sed on Solaris (maybe others) doesn't support a "-E" flag:
> $ m4 --version | sed -n -E -e 
> '1s/^.*[^A-Za-z0-9_-]?([0-9]+[.][0-9]+[.][0-9]+)[^A-Za-z0-9_-]?.*$/\1/p'
> /bin/sed: illegal option -- E
> 
> -Paul
> 
> --
> Paul H. Hargrove                          
> phhargr...@lbl.gov<mailto:phhargr...@lbl.gov>
> Future Technologies Group
> Computer and Data Sciences Department     Tel: 
> +1-510-495-2352<tel:%2B1-510-495-2352>
> Lawrence Berkeley National Laboratory     Fax: 
> +1-510-486-6900<tel:%2B1-510-486-6900>
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org<mailto:de...@open-mpi.org>
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> 
> 
> --
> Paul H. Hargrove                          
> phhargr...@lbl.gov<mailto:phhargr...@lbl.gov>
> Future Technologies Group
> Computer and Data Sciences Department     Tel: +1-510-495-2352
> Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


Reply via email to