Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Error building openmpi-1.6 from copy
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2012-06-01 14:36:15

On Jun 1, 2012, at 2:16 PM, Jeremy wrote:

> However, if I do an intermediate copy of the opempi-1.6 directory then
> make fails (details attached):
> tar xvf openmpi-1.6.tar
> cp -r openmpi-1.6 openmpi-1.6.try

^^Yeah, don't do that. :-)

Open MPI, like all Automake-bootstrapped tools, has a very strict dependence on its timestamps on the filesystem. The tarball itself is created with a specific file ordering so that when you untar it, the filestamps are in the Order That Is Needed (Automake takes care of all of this when we make the tarball). As you saw, if you violate those timestamps, Bad Things happen when you "make" (because "make" is timestamp driven).

> I can get it work only if I preserve timestamps when I do the copy:
> tar xvf openmpi-1.6.tar
> cp -r --preserve=timestamps openmpi-1.6 openmpi-1.6.try

Yes, this is expected.

I think your options are as follows:

1. untar the tarball every time you want another copy
2. cp -r --preserve=timestamps
3. Use a VPATH build

#3 is probably your easiest solution. You can do something like this:

tar xf openmpi-1.6.tar.bz2
mkdir build-1
cd build-1
../openmpi-1.6/configure ....whatever options you want...
make -j 8 install

cd ..
mkdir build-2
cd build-2
../openmpi-1.6/configure ....whatever other options you want...
make -j 8 install

...and so on.

Meaning: you have the source expanded exactly once, and you configure/build multiple times in different trees. Specifically: you separate the source tree from the build tree(s).

Does that help?

Jeff Squyres
For corporate legal information go to: