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
|