Paul H. Hargrove wrote:
Jeff Squyres wrote:
[snip]
Erm -- that's weird. So when you extract the tarballs,
atomic-amd64-linux.s is non-empty (as it should be), but after a
failed build, it's file length 0?
Notice that during the build process, we sym link atomic-amd64-linux.s
to atomic-asm.S (I see that happening in your build output as well).
So if the compiler is barfing when compiling atomic-asm.S, perhaps
it's also wiping out the file...? That would be darn weird, though...
[snip]
Hmm. Not a solution to the original problem, but might I suggest that
any case where the build might over-write a source file is a serious
problem. Two possible ways come to mind to address that:
1) Either the configure or make process might write-protect the source
file at some time prior to making the symlink.
2) The make process could copy, rather than symlink, the file (w/ a
dependency that would trigger a re-copy if the source file is updated).
The write-protect approach has the advantage that it would let us see a
make failure at the point that something is trying (erroneously) to
write/truncate the file.
-Paul
I found the solution. For reasons I have not yet determined, I had
version of cpp from 2005 in my ~/bin directory which was before /usr/bin
in my path. I have no idea where it came from or why it was there but
once I removed it Open MPI compiled and tested fine. Many thanks to both
Jeff and Paul for their suggestions which led me to the solution.
Dave