Tom / Larry --

Thanks for looking into this.

1. I just replied on https://svn.open-mpi.org/trac/ompi/ticket/2913 about the 
sed issue; let's iterate there to find the Right solution.

2. Larry: I'll look at the other issues in your patch more closely after the 
Thanksgiving break (I'm supposedly on vacation today; I'm going to be in 
trouble if I don't stop working soon!).




On Nov 15, 2011, at 8:17 PM, Thomas Rothrock CTR SMDC SimCtr/GaN Corporation 
wrote:

> Thank you for the reply and attachments.  I searched the archive before
> sending my own email and did find a couple of the previous messages, but
> believe mine is a different situation.  The macro expansion is working (I'm
> using PGI 11.10) but the macro is set to "" instead of "1.7a1? (no
> svnversion) MM-DD-YYYY" by an error in the configure script generation.
> Installing subversion is a cheap workaround that makes the svnversion
> command available and the macro gets set to "1.7a1r25476M" or whatever repo
> version you are at.
> 
> I did not mention it before but this happens when I try to build the trunk
> or the 1.5 development branch.  The 1.4 branch's configure code doesn't even
> bother to test for svnversion failing and just ends up setting OMPI_VERSION
> to "1.4.4rc5r"
> 
> The problem is with configure's with_ident_string assignment:
> 
>       with_ident_string="`echo $with_ident_string | sed -e
> 's/%VERSION%/'$OMPI_VERSION/`"
> 
> OMPI_VERSION is set to "1.7a1? (no svnversion) MM-DD-YYYY" but the spaces in
> OMPI_VERSION break the expression because sed sees the rest of the version
> string as extra arguments instead of part of the -e script.  It doesn't show
> up in config.log, but the configure output to the terminal at this point is:
> 
>       checking if want ident string... sed: -e expression #1, char 18:
> unterminated `s' command
> 
> The config.status shows:
> 
>       D["OPAL_IDENT_STRING"]=" \"\""
> 
> If I patch config/opal_get_version.m4 to remove the spaces:
> 
> 
> 
> diff -Naurd openmpi-trunk.a/config/opal_get_version.m4
> openmpi-trunk.b/config/opal_get_version.m4
> --- openmpi-trunk.a/config/opal_get_version.m4  2011-09-21
> 23:17:36.000000000 -0500
> +++ openmpi-trunk.b/config/opal_get_version.m4  2011-11-15
> 17:36:09.000000000 -0600
> @@ -81,7 +81,7 @@
>                     if test $? != 0; then
>                         # The following is too long for Fortran
>                         # $2_REPO_REV="unknown svn version (svnversion not
> found); $d"
> -                        $2_REPO_REV="? (no svnversion); $d"
> +                        $2_REPO_REV="?(nosvnversion);$d"
>                     fi
>                 elif test -d "$srcdir/.hg" ; then
>                     # Check to see if we can find the hg command
> 
> 
> 
> it verifies that the spaces were the problem.  OMPI_VERSION gets set to
> "1.7a1?(nosvnversion);11-15-2011", configure runs without an sed error, and
> config.status shows:
> 
>       D["OPAL_IDENT_STRING"]=" \"1.7a1?(nosvnversion);11-15-2011\""
> 
> and opal/runtime/opal_init.c compiles without triggering the misleading PGI
> error, but doesn't look quite as pretty.  Perhaps a better solution is to
> modify the with_ident_string assignment to work correclty with spaces in
> OMPI_VERSION intact:
> 
> 
> 
> diff -Naurd openmpi-trunk.a/opal/config/opal_configure_options.m4
> openmpi-trunk.b/opal/config/opal_configure_options.m4
> --- openmpi-trunk.a/opal/config/opal_configure_options.m4       2011-11-15
> 17:55:36.000000000 -0600
> +++ openmpi-trunk.b/opal/config/opal_configure_options.m4       2011-11-15
> 18:29:43.000000000 -0600
> @@ -489,7 +489,7 @@
> if test "$with_ident_string" = "" -o "$with_ident_string" = "no"; then
>     with_ident_string="%VERSION%"
> fi
> -with_ident_string="`echo $with_ident_string | sed -e
> 's/%VERSION%/'$OMPI_VERSION/`"
> +with_ident_string="`echo $with_ident_string | sed -e
> 's/%VERSION%/'"$OMPI_VERSION"'/'`"
> AC_DEFINE_UNQUOTED([OPAL_IDENT_STRING], ["$with_ident_string"],
>      [ident string for Open MPI])
> AC_MSG_RESULT([$with_ident_string])
> 
> 
> In this case the resulting config.status has:
> 
>       D["OPAL_IDENT_STRING"]=" \"1.7a1? (no svnversion); 11-15-2011\""
> 
> and the compile works.  I have attached the second patch for both trunk and
> 1.5 as it is probably the better solution (don't assume OMPI_VERSION has no
> spaces) and I have not found other instances of spaces in the version string
> breaking anything.  As for OpenMPI 1.4's development branch, I'll leave the
> choice to patch or leave as-is for someone else to discuss.
> 
> FYI, PGI has assigned my support request TPR #18274.  I'm curious what they
> will come back with.
> 
>           -----------------------------------------------------------
>            Tom Rothrock          <thomas.w.rothrock....@us.army.mil>
>            US Army Space & Missile Defense Command Simulation Center
>            256-955-3382 (DSN 645)                   FAX 256-955-1231
>            <http://www.sc.army.mil> Main SimCtr Phone:  256-955-3750
>           -----------------------------------------------------------
>           This email capability is supported by Department of Defense
>           systems and is subject to monitoring.  Please refrain from
>           using this address for non-Government purposes.
>           -----------------------------------------------------------
> 
> -----Original Message-----
> From: Larry Baker [mailto:ba...@usgs.gov] 
> Sent: Tuesday, November 15, 2011 4:08 PM
> To: Thomas Rothrock CTR SMDC SimCtr/GaN Corporation
> Cc: Open MPI Developers; Eugene Loh
> Subject: Re: [OMPI devel] PGI error invoked when svnversion is unavailable
> 
> Tom,
> 
> This is because the code in OpenMPI presumes macros will be expanded in
> pragmas, but that is not required by the C standard.  (See my e-mails below
> from last year with PGI, TPR 17186.)  I fixed OpenMPI 1.4.3 configure in the
> attached patch.  My patch also disables inline assembly for PGI C++, the
> same as for PGI C.  (Something similar may also have to be done to solve
> Eugene's asm statement warnings on Solaris 11.)  It also fixes detection of
> support for marshaling Fortran REAL16 and COMPLEX32 data types.
> 
> Larry Baker
> US Geological Survey
> 650-329-5608
> ba...@usgs.gov
> <openmpi-1.5-ident_string.patch><openmpi-trunk-ident_string.patch>_______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to