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 17:39:57


On Apr 4, 2007, at 8:44 AM, Marcin Dulak wrote:

> Thank your for comments.
> 1) I'am using
> GNU bash, version 3.00.15(1)-release (i686-redhat-linux-gnu)
> To see the problem with the original
> eval "set %{configure_options}" I start the configure_options with
> -- in buildrpm.sh, like this: configure_options="--with-tm=/usr/
> local FC=pgf90 F77=pgf90 CC=pgcc CXX=pgCC CFLAGS=-Msignextend
> CXXFLAGS=-Msignextend --with-wrapper-cflags=-Msignextend --with-
> wrapper-cxxflags=-Msignextend FFLAGS=-Msignextend FCFLAGS=-
> Msignextend --with-wrapper-fflags=-Msignextend --with-wrapper-
> fcflags=-Msignextend" Or to see the problem directly, I go to the
> shell: sh; set --w sh: set: --: invalid option set: usage: set [--
> abefhkmnptuvxBCHP] [-o option] [arg ...]

(wow, my mail client really munged your formatting... :-\ )

I see why I didn't run into this before. I did all my testing within
the context of the OFED 1.2 installer, and we always pass in
configure_options that start with a token that does not start with
--. Hence, "set" knew to ignore the -- prefixed options.

So it looks like a slightly less intrusive fix would actually be to
use the following:

    eval "set -- %{configure_options}"

> 2) if ("\$LD_LIBRARY_PATH" !~ *%{_libdir}*) then is the only
> possibility which works for me. I'am using tcsh 6.13.00 (Astron)
> 2004-05-19 (i386-intel-linux) options
> 8b,nls,dl,al,kan,rh,color,dspm,filec If I use "%{_libdir}", then
> every time I source /opt/openmpi/1.2/bin/mpivars-1.2.csh a new
> entry of opemnpi is prepended, so the LD_LIBRARY_PATH is growing.
> The same if I use "*%{_libdir}*" it seems that with the double
> quotes the shell despite the pattern comparison requested by !~
> uses literal matching.

I just went and read the man page on this (should have done this
before): it says that the =~ and !~ operators are glob-style
matching. So the * prefix and suffix is correct -- thanks for
pointing that out.

I was trying to use "" to protect multi-word strings, but I can't
seem to find a syntax that works for multi-word strings on the right
hand side. Oh well; there's probably other stuff in OMPI that will
break if use you spaces in the prefix -- I'm ok with this for now.

I'll fix up these in SVN.

> 3) using setenv MANPATH %{_mandir}: (with the colon (:) included),
> if I start from empty MANPATH
>
> unsetenv MANPATH
>
> and run
> source /opt/openmpi/1.2/bin/mpivars-1.2.csh
> I get
> echo $MANPATH
>
> /opt/openmpi/1.2/man:

Right.

> I tried to google for something like
> also include the default MANPATHbut I cannot find anything. What is
> the meaning of this colon at the end?

I believe that I found this option long ago by trial and error in the
OSCAR project. I just trolled through the man documentation right
now and [still] can't find it documented anywhere. :-\

The trailing : means "put all the options listed in man.conf here".
If you don't do that, then the contents of MANPATH wholly replaces
what is listed in man.conf. For example (I'm a C shell kind of guy):

# With no $MANPATH
shell% man ls
...get ls man page...

# Set MANPATH to a directory with no trailing :
shell% setenv MANPATH /opt/intel/9.1/man
shell% man icc
...get icc man page...
shell% man ls
No manual entry for ls

# Set MANPATH to a directory with a trailing :
shell% setenv MANPATH /opt/intel/9.1/man:
shell% man icc
...get icc man page...
shell% man ls
...get ls man page...

Thanks for the bug reports and your persistence!

-- 
Jeff Squyres
Cisco Systems