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

Reply via email to