On Mon, 15 Sep 2003, Virgilio, Vincent wrote:
> This once caused a problem for me; to work around it, I changed the LAM
> install prefix to /usr/local/lam-7.0.
>
> I was developing an application which was installed on the same
> platform. The builds were incorrectly picking up versions of some
> installed headers, which should've come from the local project
> directories.
If mpi.h (and friends) is in a directory with other "bad" header files,
there's unfortunately nothing that we can do about that -- you need to be
able to find mpi.h, so we have to add the -I.
Sidenote: you can acutally still use the same --prefix (/usr/local), but
have LAM install the header files elsewhere with the --includedir and/or
--libdir configure switches (I'm assuming that if you have a problem with
conflicting header files, you'll also have a problem with conflicting
libraries). For example:
./configure --prefix=/usr/local \
--includedir=/usr/local/include/lam-7.0 \
--libdir=/usr/local/lib/lam-7.0
and LAM will do the Right Thing (if you're recompiling your old source
tree, ensure that the wrapper compilers get recompiled to get the new
locations). This will allow you to have the LAM executables in the
commonly-used /usr/local/bin, but still have "safe" header and library
files. See "./configure --help" for all the available directory override
flags.
Note that Arun's case is a little different -- LAM is specifying the same
-I (and -L) flags that the compiler already implicitly states.
--
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/
|