Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] OMPI 1.4.3 and "make distclean" error
From: Gus Correa (gus_at_[hidden])
Date: 2011-04-06 17:43:04


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