Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2007-04-04 07:43:54


On Apr 4, 2007, at 4:50 AM, Marcin Dulak wrote:

> Thank you for the links.
> I tried the Revision 14205 of openmpi.spec and it works for me
> only after some changes:
> - in the mpivars-1.2.csh script part,
> - and related to the line 330 in the original (14205) openmpi.spec:
>
> eval "set %{configure_options}"
>
> which will fail, if configure_options starts with --, in which case
> it will be interpreted as an option to set.

Hmm. I did not have this problem. What version of shell are you using?

I can apply this change because it's harmless, but I'm curious as to
why I did not see the same problem.

See below for more comments.

> --- openmpi.spec 2007-04-04 09:34:12.397722000 +0200
> +++ openmpi-fixed.spec 2007-04-04 10:25:26.648442000 +0200
> @@ -327,7 +327,8 @@
>
> if test "$using_gcc" = "1"; then
> # Do wretched things to find a CC=* token
> - eval "set %{configure_options}"
> + # Remove starting --*, as it is interpreted as an option to set
> + eval "set `echo %{configure_options} | sed 's/--*//'`"

See comment above.

> compiler=
> while test "$1" != "" -a "$compiler" = ""; do
> case "$1" in
> @@ -449,7 +450,7 @@
>
> # LD_LIBRARY_PATH
> if ("1" == "\$?LD_LIBRARY_PATH") then
> - if ("\$LD_LIBRARY_PATH" =~ "'*%{_libdir}*'") then
> + if ("\$LD_LIBRARY_PATH" !~ *%{_libdir}*) then
> setenv LD_LIBRARY_PATH %{_libdir}:\${LD_LIBRARY_PATH}
> endif
> else
> @@ -458,11 +459,11 @@
>
> # MANPATH
> if ("1" == "\$?MANPATH") then
> - if ("\$MANPATH" =~ '*%{_mandir}*'") then
> + if ("\$MANPATH" !~ *%{_mandir}*) then

Fixed the above 2 typos, although the *'s should also disappear and
the double quotes should remain (the %{_mandir} one was actually
broken).

> setenv MANPATH %{_mandir}:\${MANPATH}
> endif
> else
> - setenv MANPATH %{_mandir}:
> + setenv MANPATH %{_mandir}

The : at the end of the string is intentional. Its presence means
"also include the default MANPATH".

-- 
Jeff Squyres
Cisco Systems