> 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/