> On Jun 10, 2015, at 6:27 AM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> 
> wrote:
> 
>> i just found an other issue with this scenario :
>> symlinks in the profile directories (ompi/mpi/c/profile, 
>> ompi/mpi/fortran/mpif-h/profile, oshmem/shmem/c/profile) are not recreated 
>> and points to the previous source tree.
>> (that caused one crash at least, and likely silently compiles old sources 
>> most of the time)

Actually, the more I think about this, the more I think that this simply should 
be unsupported:

1. This is simply not the way the autotools-built software are supposed to be 
used.  I can't find any documentation that supports this assertion, but it just 
seems downright weird to me that you'd use the same build tree for multiple 
source trees -- that seems like a recipe for trouble.
2. I'm not sure how to tell whether we need to re-create the sym link or not.

Here's an example:

-----
# Untar two different tarballs (which makes 2 different source trees)
tar xf tarball1.tar.bz2
tar xf tarball2.tar.bz2

# Make a build tree
mkdir build
cd build

# Configure and build tarball 1
../tarball1/configure
make

# IN THE SAME BUILD TREE, configure and build tarball2
../tarball2/configure
make <--- bad because there are build products from tarball1 in the tree
-----

The OMPI build process is implicitly assuming that the following was inserted 
before the 2nd configure:

----
cd ..
rm -rf build
mkdir build
cd build
-----

I.e., delete the entire build tree before running tarball2's configure (or 
otherwise using a different build tree).

Gilles just made a suggestion in a followup mail (re-create the sym links if 
the Makefile is newer than the sym link).  Offhand, I can't think of a 
simple/clean way to be able to check this in a Makefile.am rule...?

Sidenote: we only re-create the links if they don't exist so that if you:

-----
make
make
-----

it doesn't re-create all those sym links, and therefore re-compile all those 
files.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to