Ralph Castain wrote:
On Apr 6, 2011, at 1:21 PM, David Gunter wrote:
We tend to build OMPI for several different architectures.
Rather than untar the archive file each time I'd rather
do a "make distclean" in between builds.
However, this always produces the following error:
...
Making distclean in libltdl
make[2]: Entering directory `/user/openmpi-1.4.3/opal/libltdl'
make[2]: *** No rule to make target `distclean'. Stop.
make[2]: Leaving directory `/user/openmpi-1.4.3/opal/libltdl'
make[1]: *** [distclean-recursive] Error 1
make[1]: Leaving directory `/user/openmpi-1.4.3/opal'
make: *** [distclean-recursive] Error 1
and then fails to finish the rest of the cleanup.
The reason is due to to our specific systems and the use
of the configure argument --disable-dlopen, so nothing (including the Makefile)
gets created in /user/openmpi-1.4.3/opal/libltd.
Is there a workaround for this?
Can't think of any minus build system changes.
I don't know of any testing done for that scenario,
so I doubt we've hit it before.
Jeff is out today - will have to ask him tomorrow if he has any suggestions.
I can think of a couple of possible solutions, but not sure what he would prefer.
Thanks,
david
--
David Gunter
HPC-3: Infrastructure Team
Los Alamos National Laboratory
Hi David
You could build on a different directory, one directory for each build,
and use --prefix=/bla/bla to install in different locations
of your choice.
I do this all the time here, not for different architectures, but for
different compilers.
I use subdirectories on the main directory of the untarred source tree,
but that's a matter of taste.
Launch 'configure' with full path name or relative path from there.
Then do 'make' and 'make install'.
Worse comes to worst, if a particular build fails,
you can delete everything on the subdirectory,
instead of 'make distclean' (if that fails),
and start fresh, no harm to the original source tree.
I hope this helps,
Gus Correa
---------------------------------------------------------------------
Gustavo Correa
Lamont-Doherty Earth Observatory - Columbia University
Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------